C#怎样定义返回值为List的方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#怎样定义返回值为List的方法相关的知识,希望对你有一定的参考价值。
系统给出的方法越界报错,因此自己写个方法
/// <summary>
/// 获取List的前count个项目
/// </summary>
/// <param name="list"></param>
/// <param name="count"></param>
/// <returns></returns>
public static List<T> GetTopListByNum(List<T> list, int index, int count)
if (count < list.Count)
count = list.Count;
if (index > count)
index = count;
return list.GetRange(index, count);
T的地方报错,找不到namespace,缺少引用吗?
我写的想通用所有Model
方法名后价加个<T>就可以了。
使用的时候GetTopListByNum<Model>() 就能返回List<Model>了 参考技术A //返回固定List<int>类型
public static List<int> GetList()
return new List<int>();
//返回List<T>类型
//可以这样调用,GetList(1);此时返回List<int>类型
public static List<T> GetList<T>(T t)
return new List<T>();
//返回List<T>类型
//可以这样调用,GetList<int>();此时返回List<int>类型
public static List<T> GetList<T>()
return new List<T>();
//返回List<T>类型,并且T是可以实例化的类
//可以这样调用,GetList<DateTime>();此时返回的是List<DateTime>类型
//不可以这样调用,GetList<int>();因为int类不能被实例化
public static List<T> GetList<T>() where T : new()
List<T> list = new List<T>();
T obj = new T();
list.Add(obj);
return list;
参考技术B 这是用泛型,泛型方法可以这么声明:
public static List<T> FuncName<T>(List<T> arg);
使用的时候这样写:
List<int> x= FuncName<int>(new List<int>1,2,3); 参考技术C List<T>?T里面是个类型,你类型是什么?追问
系统提示的泛型,但是我用 缺少引用
追答List表示是string
List表示是int
假如你的Model里面有一个实体是User
这里就写List同时引用Model
List表示是string的list
List表示是int的list
假如你的Mode里面有个实体叫User
List表示是User的list
同时引用Model
我是用自定义Model,但是我有N个Model,我想这N个不同Model写一个通用方法?
怎样用C#把JSON数据转换为list或数组
//导入这个命名空间
using System.Web.Script.Serialization;
//这个命名空间需要引用几个,System.Web.XXX,具体我也记不了是哪几个,
//你看到System.Web.xxx的都引用。之后自己去掉没报错就是不需要的。
//导入命名空间完后,你可以这样声明对象
JavaScriptSerializer js = new JavaScriptSerializer();
//然后调用Json数据转对象的方法
//strJson 是Json字符串数据(这里需要JSON是数组数据的前提下)
List<string> list = js.Deserialize<List<string>>(strJson);
//这里主要说一下js.Deserialize<T>(string); //T(泛型)是需要转换成的对象(数组,List,OBJECT)
//string 是Json字符串数据
//这个方法返回的是T类型对象。(定义什么返回什么)
C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司 .NET windows网络框架的主角。
C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。
C#是面向对象的编程语言。它使得程序员可以快速地编写各种基于MICROSOFT .NET平台的应用程序,MICROSOFT .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。
C#使得C++程序员可以高效的开发程序,且因可调用由 C/C++ 编写的本机原生函数,因此绝不损失C/C++原有的强大的功能。因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。
参考技术A //导入这个命名空间using System.Web.Script.Serialization;
//这个命名空间需要引用几个,System.Web.XXX,具体我也记不了是哪几个,
//你看到System.Web.xxx的都引用。之后自己去掉没报错就是不需要的。
//导入命名空间完后,你可以这样声明对象
JavaScriptSerializer js = new JavaScriptSerializer();
//然后调用Json数据转对象的方法
//strJson 是Json字符串数据(这里需要JSON是数组数据的前提下)
List<string> list = js.Deserialize<List<string>>(strJson);
//这里主要说一下js.Deserialize<T>(string); //T(泛型)是需要转换成的对象(数组,List,OBJECT)
//string 是Json字符串数据
//这个方法返回的是T类型对象。(定义什么返回什么)
//说完Json数据转对象,再说说对象转JSON字符串数据
//object 是需要转成Json字符串数据的对象
string strJson = js.Serialize(object);
请参考这个http://blog.csdn.net/yyixin/article/details/7243472
手机码字,忘采纳,不懂点追问。😀本回答被提问者采纳
以上是关于C#怎样定义返回值为List的方法的主要内容,如果未能解决你的问题,请参考以下文章
用C++封装了Halcon的算法,返回值为Hobject类型,在C#中调用dll怎么用Hobject类型的返回值。
利用linq to sql 建立查询方法返回值类型为List<T> 怎样去除集合中的重复数据?
C#关于在返回值为Task方法中使用Thread.Sleep引发的思考