ってときに見る用にいろんなサンプルコードを置いておく
・特定の文字をカウントする
string test = "gooooooooooooooooooooooooooogle"; //LINQで oの個数を調べる int count = test.Count(c => c == 'o'); Console.WriteLine("oの数は{0}個です", count.ToString());
・数字を倍にして配列で受け取る
int[] num = { 1, 2, 3, 4, 5 }; num = num.Select(n => n * 2).ToArray();
・最初に現れる偶数は何番目か?
int[] numList = { 3, 8, 15, 18 }; Console.WriteLine(numList.Select((num, indexNo) => new { num ,indexNo}) .First(n => n.num % 2 == 0).indexNo);Selectの第二引数を指定することで要素番号を取得する
Select内では、
numをキーにnumListから受け取る数字を値に指定
indexNoをキーに要素数を指定
Firstで2で割った時に0になる物が現れた時終了し
そのオブジェクトのindexNo(要素番号)を返す処理
・動的なAND条件
手っ取り早く、ある文字列の配列に対し、特定の文字全てを含んでいるかチェック
using System; using System.Linq; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { string[] str = { "睦月", "如月", "弥生", "卯月", "皐月", "水無月", "文月", "葉月", "長月", "神無月", "霜月", "師走"}; string[] check = { "月", "無" }; var result = str.Where(s => check.All(c => -1 < s.IndexOf(c))); Console.WriteLine(string.Join(", ", result)); //水無月, 神無月 } } }・動的なOR条件 手っ取り早く、ある文字列の配列に対し、特定の文字がどれか含んでいるかチェック
using System; using System.Linq; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { string[] str = { "睦月", "如月", "弥生", "卯月", "皐月", "水無月", "文月", "葉月", "長月", "神無月", "霜月", "師走"}; string[] check = { "弥", "無" }; var result = str.Where(s => check.Any(c => -1 < s.IndexOf(c))); Console.WriteLine(string.Join(", ", result)); //弥生, 水無月, 神無月 } } }
0 件のコメント:
コメントを投稿