我如何找到包含值的元素。
List<int> primes = new List<int>(new int[] { 19, 23,2, 29,23 });
int index = primes.IndexOf(2);
label1.Text = index.ToString();
for (int i = index+1; i < primes.Count; )
{
index = primes.IndexOf(2, i );
label1.Text += "-" + index.ToString();
i = index+1;
}
输出:
1-2-3-4
答案 0 :(得分:0)
检查值列表
primes.Contains(2)
知道每个元素的索引可以做
var foo = primes.Select((x, i) => new { x, i }).ToLookup(x => x.x, x => x.i);
这将分组元素及其各自的索引
答案 1 :(得分:0)
List<int> primes = new List<int>(new int[] { 19, 23,2, 29,23 });
for (int i = 0; i < primes.Count; i++)
{
if (primes[i].ToString().Contains("2"))
label1.Text = label1.Text += "-" + i;
}
label1.Text = label1.Text.Substring(1, label1.Text.Length - 1); // this line just removes the dath at the start of the label1.Text
此代码应该完成这项工作,但label1.Text将是1-2-3-4导致第二个3rt第四和第五个元素有2个内部或等于两个
答案 2 :(得分:0)
这样的东西?
List<int> primes = new List<int>(new int[] { 19, 23, 2, 29, 23 });
label1.Text = String.Join("-", primes.Select((i, inx) => new { i, inx })
.Where(x => x.i.ToString().Contains("2"))
.Select(x => x.inx));
标签的文字为1-2-3-4