質問編集履歴
1
簡単にコメントを追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -4,6 +4,7 @@
|
|
4
4
|
現在はとりあえず以下のようなコードで実現していますが、よりよい方法があればぜひお教えください。
|
5
5
|
また、C#に限らず他の言語でも、「この言語なら一行で書ける」等ございましたらお聞かせください。
|
6
6
|
```lang-csharp
|
7
|
+
// 拡張メソッド定義
|
7
8
|
public static class IEnumerableExtensions
|
8
9
|
{
|
9
10
|
public static int IndexOf<T>(this IEnumerable<T> source, IList<T> list)
|
@@ -15,6 +16,7 @@
|
|
15
16
|
{
|
16
17
|
if (item != null && item.Equals(list[0]))
|
17
18
|
{
|
19
|
+
// 最初の1要素が一致したら切り出して比較
|
18
20
|
var part = source.Skip(index).Take(list.Count);
|
19
21
|
if (part.SequenceEqual(list)) return index;
|
20
22
|
}
|