Exemple #1
0
        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));
    }
Exemple #4
0
 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));
 }