public void Execute() { // // ElementAt拡張メソッドは、指定した位置の要素を取得するメソッド。 // // 範囲外のインデックスを指定した場合は例外が発生する. // var languages = new[] {"csharp", "visualbasic", "java", "python", "ruby", "php", "c++"}; Output.WriteLine(languages.ElementAt(1)); try { languages.ElementAt(100); } catch (ArgumentOutOfRangeException) { Output.WriteLine("要素の範囲外のインデックスを指定している。"); } // // ElementAtOrDefault拡張メソッドは、ElementAt拡張メソッドと同じ動作を // しながら、範囲外のインデックスを指定された場合に規定値を返すメソッド。 // Output.WriteLine(languages.ElementAtOrDefault(-1) ?? "null"); Output.WriteLine(languages.ElementAtOrDefault(100) ?? "null"); }
public void ElementAtOrDefaultFixture() { var list = new[] { 1, 2, 3, 4, 5 }; list.ElementAtOrDefault(2,-10).Should().Equal(3); list.ElementAtOrDefault(5, -10).Should().Equal(-10); list.ElementAtOrDefault(-2, -10).Should().Equal(-10); }
public static void Main () { var ints = new[] { 1, 2, 3, 4 }; Console.WriteLine(ints.ElementAt(0)); Console.WriteLine(ints.ElementAt(1)); Console.WriteLine(ints.ElementAt(3)); Console.WriteLine(ints.ElementAtOrDefault(0)); Console.WriteLine(ints.ElementAtOrDefault(1)); Console.WriteLine(ints.ElementAtOrDefault(3)); Console.WriteLine(ints.ElementAtOrDefault(-1)); Console.WriteLine(ints.ElementAtOrDefault(5)); }
public void ElementAtOrDefault() { var items = new[] { 0, 1, 2 }; AssertEquals(items.ElementAtOrDefault(0), 0); AssertEquals(items.ElementAtOrDefault(1), 1); AssertEquals(items.ElementAtOrDefault(2), 2); AssertEquals(items.ElementAtOrDefault(3), 0); }
public void NegativeIndex() { IEnumerableWithCount<int> source = new[]{ 90, 91, 92 }.AsEnumerableWithCount(); Assert.AreEqual(0, source.ElementAtOrDefault(-1)); }
public void DefaultValueWhenIndexIsLessThanZero() { var source = new[] { 1 }; Assert.That(source.ElementAtOrDefault(-1), Is.EqualTo(0)); }
public void DefaultValueWhenIndexGreaterThanOrEqualToTheNumberOfElementsInSource() { var source = new[] { 1 }; Assert.That(source.ElementAtOrDefault(2), Is.EqualTo(0)); }