【发布时间】:2016-07-26 00:40:48
【问题描述】:
我有一个字符串数组:
string[] stringArray = {"aaa", "bbb", "ccc", "aaa", "ccc", "ddd"};
我想获取该数组的所有索引,其中这些字符串的子字符串位于另一个数组中:
string[] searchArray = {"a","b"};
我想得到的答案是:
index = {0,1,3};
对于 searchArray 的一个条目的建议是:
List<int> index = stringArray.Select((s, i) => new { i, s })
.Where(t => t.s.Contains(searchArray[1]))
.Select(t => t.i)
.ToList();
所有条目的解决方案是:
List<int> index = new List<int>();
foreach (string str in searchArray)
index.AddRange(stringArray.Select((s, i) => new { i, s })
.Where(t => t.s.Contains(str))
.Select(t => t.i)
.ToList());
index.Sort();
但出于好奇,有没有只在LINQ中使用一个命令的解决方案?
【问题讨论】: