c# – 使用LINQ将字符串拆分为元组?
发布时间:2020-12-15 07:40:31 所属栏目:百科 来源:网络整理
导读:给定像“name:Dave”之类的字符串,我想将其转换为元组 string,string有没有一种巧妙的方法来使用LINQ进行内联,而不是首先获取数组然后解析它? 我正在从我的app.config文件中解析一些配置数据,如下所示: Data add key="John" value="instrument:guitar"/ a
给定像“name:Dave”之类的字符串,我想将其转换为元组< string,string>有没有一种巧妙的方法来使用LINQ进行内联,而不是首先获取数组然后解析它?
我正在从我的app.config文件中解析一些配置数据,如下所示: <Data> <add key="John" value="instrument:guitar"/> <add key="Paul" value="instrument:bass"/> <add key="George" value="instrument:guitar"/> <add key="Ringo" value="instrument:drums"/> </Data> 我要将其转换为字典< string,tuple< string,string>> (我知道这是一个奇怪的数据结构!) 从一些代码开始: var x = ((ConfigurationManager.GetSection("Data") as Hashtable)) .Cast<System.Collections.DictionaryEntry>() .ToDictionary(n => n.Key.ToString(),n => something(n.Value.ToString().Split(':'))); 我想知道是否有一种简洁的LINQ方式在线执行此操作而不是编写一个实用程序函数来从String.Split的数组中获取单个元组? 解决方法var source = new Dictionary<string,string>(){ { "John","instrument:guitar" } }; var tuple = source.Select(x => new { key = x.Key,values = x.Value.Split(':') }).Select(y => new Tuple<string,string>(y.key,y.values[1])).ToList(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容