string source = "Class1.StructA.StructB.StructC.FIEldA";
如何使用C#和linq将字符串分割成单独的字符串来显示它们的层次结构?如:
string[] result = new string[]{ "Class1","Class1.StructA","Class1.StructA.StructB","Class1.StructA.StructB.FIEldA"};解决方法 将分隔符分割为不同级别的1 … N并重新加入字符串.
const char DEliMITER = '.';var source = "Class1.StructA.StructB.StructC.FIEldA";var hIErarchy = source.Split(DEliMITER);var result = Enumerable.Range(1,hIErarchy.Length) .Select(i => String.Join(".",hIErarchy.Take(i))) .ToArray();
没有liNQ,这是一个更有效的方法:
const char DEliMITER = '.';var source = "Class1.StructA.StructB.StructC.FIEldA";var result = new List<string>();for (int i = 0; i < source.Length; i++){ if (source[i] == DEliMITER) { result.Add(source.Substring(0,i)); }}result.Add(source); // assuming there is no trailing delimiter总结
以上是内存溢出为你收集整理的使用c#和linq将分离的字符串拆分为层次结构全部内容,希望文章能够帮你解决使用c#和linq将分离的字符串拆分为层次结构所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)