C#クエリ可能なSkipWhile()メソッド
配列内の要素をバイパスし、SkipWhile()メソッドを使用して残りの要素を返します。
以下は私たちの配列です-
int[] marks = { 45, 88, 55, 90, 95, 85 };
ここで、60以上の要素をスキップしましょう。ラムダ式を使用して設定した条件。
IEnumerable<int> selMarks = marks.AsQueryable().OrderByDescending(s => s).SkipWhile(s => s >= 60);
例
using System; using System.Linq; using System.Collections.Generic; public class Demo { public static void Main() { int[] marks = { 45, 88, 55, 90, 95, 85 }; // skips elements above 60 IEnumerable<int> selMarks = marks.AsQueryable().OrderByDescending(s => s).SkipWhile(s => s >= 60); // displays rest of the elements Console.WriteLine("Skipped marks > 60..."); foreach (int res in selMarks) { Console.WriteLine(res); } } }
出力
Skipped marks > 60... 55 45
-
C#のCompareTo()メソッド
2つの値を比較するには、CompareTo()メソッドを使用します。 戻り値は次のとおりです- 0=両方の数値が等しい 1=2番目の数値が小さい -1=最初の数字が小さい これは、C#でCompareTo()メソッドを実装するためのコードです- 例 using System; public class Demo { public static void Main() { int val1 = 100; int val2 = 100;
-
Array#zipメソッド
違いを見つけることができるように、2つの配列を要素ごとに比較したいとします。 または、すべてのインデックスで最大の数値を見つけたい場合や、キーのリストと値のリストをマージしてハッシュを作成したい場合もあります… …これを行うための「難しい方法」は、次のようになります。 例 : a = [1,2,3,4,5] b = [1,2,3,6,8] c = a.map.with_index { |_, idx| [a[idx], b[idx]] } # [[1, 1], [2, 2], [3, 3], [4, 6], [5, 8]] それで仕事は終わりますが、きれいではありませんよね?