Linq中在C#中常用方法
前言
最近Linq使用较为频繁,然后有一些常用的方法,平时使用完之后就忘记了,鱼的记忆一样,所以这次整理一下常用的方法,省着以后没事还要再去找百度。干脆自己弄一个合集,一步到位,后续还会在进行补充完善的
List类型转换
List[string]转换string
//List<string> 转 string
var list = (new[]{"1","2","3"}).ToList();
string temp= String.Join(",", tagNames);
string和int互相转换
//List<string> 转 List<int>
var list = (new[]{"1","2","3"}).ToList();
var newlist = list.Select<string,int>(x =>Convert.ToInt32(x));
//List<int> 转List<string>
List<int> list = new List<int>(new int[] { 1,2,3 } );
List<string> newList = list.ConvertAll<string>(x => x.ToString());
String[]和List[string]转换
//string[]转List<string>
System.String[] str={"str","string","abc"};
List<System.String> listS=new List<System.String>(str);
//List<string>转string[]
List<System.String> listS=new List<System.String>();
listS.Add("str");
listS.Add("hello");
System.String[] str=listS.ToArray();
json和List格式转化
//需要注意 使用json转化的时候 需要引用 Newtonsoft.Json
//借助第三方类库处理 当然有其他用法也可以评论留言哦
JArray jarry= new JArray();
//如果list内部实体或者格式不确定的话 可以采用var
List<JToken> list = jarry.ToList();
//当然 也可以采用另外一种
//序列化
JsonConvert.SerializeObject<格式>(内容)
//反序列化
JsonConvert.DeserializeObject<格式>(内容)
List集合的处理(Linq用法)
Distinct - 过滤集合中的相同项(去重)
List<int> list= new List<int>() {1,2,3,4,4,5,6,6 };
var newlist=list.Distinct();
// 得到的结果就是;1,2,3,4,5,6
Union - 连接不同集合,自动过滤相同项(并集)
List<int> list= new List<int>() {1,2,3,4,4,5,6,6 };
List<int> list1= new List<int>() {5,6,6,7,8,9};
var newlist=list.Union (list1);
//得到的结果就是;1,2,3,4,5,6,7,8,9
Concat - 连接不同集合,不会自动过滤相同项
List<int> list= new List<int>() {1,2,3,4,4,5,6,6 };
List<int> list1= new List<int>() {5,6,6,7,8,9};
var newlist=list.Union (list1);
//得到的结果就是;1,2,3,4,4,5,6,6,5,6,6,7,8,9
Intersect - 获取不同集合的相同项(交集)
List<int> list= new List<int>() {1,2,3,4,4,5,6,6 };
List<int> list1= new List<int>() {5,6,6,7,8,9};
var newlist=list.Intersect (list1);
//得到的结果就是;5,6
Except - 获取不同集合的不同项(差集)
List<int> list= new List<int>() {1,2,3,4,4,5,6,6 };
List<int> list1= new List<int>() {5,6,6,7,8,9};
var newlist=list.Except (list1);
//得到的结果就是;1,2,3,4
Skip - 跳过集合的前n个元素
List<int> list= new List<int>() {1,2,3,4,4,5,6,6 };
var newlist=list.Skip (3);
//得到的结果就是;4,4,5,6,6
Take - 获取集合的前n个元素;延迟
List<int> list= new List<int>() {1,2,2,3,4,4,5,6,6 };
var newlist=list.Take (3);
//得到的结果就是;1,2,2
尾语
以上信息有自己想到的信息 也有参考网络上的一些文章进行整理总结的
参考文章
C# Linq 交集、并集、差集、去重:
https://www.cnblogs.com/Fooo/p/9121313.html