バックグラウンド:
私はエバリュエーターに取り組んでいます (利用可能なソリューションがあることは知っていますが、自分で実装する必要があるいくつかの機能が必要です)。評価で出現するすべての開き括弧を見つける必要があります。ただし、そのためには、ブラケットのすべてのインデックスが必要です。
質問:
int[]
、またはを返す AllIndexesOf メソッドのようなものはありますかIEnumerable<int>
?
ありませんが、次の LINQ クエリを使用してすべてのインデックスを取得できます。
int number = 10;
int[] intArray = new[] { 1, 32, 10, 5, 65, 6, 10, 10 };
var allIndexes = intArray.Select((r,i)=> new {value = r, index = i})
.Where(r=> r.value == number)
.Select(r=> r.index);
allIndexes
含まれます2,6 and 7
また、使用することができますEnumerable.Range
var indexes = Enumerable.Range(0, list.Count)
.Where(index => list[index] == yourValue);