Linq在C#中不得不了解的常用处理方法

1 篇文章 0 订阅

前言

最近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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值