私はList<String>
1000人の名前を持っています。「S」で始まる名前の数を知りたいです。
それを行うための最良の選択肢は何ですか?
Linq が利用可能な場合
using System.Linq;
list.Where(s=>s!=null && s.StartsWith("S")).Count();
Linq が利用できない場合。
int count=0;
foreach (string s in list) {
if (s!=null && s.StartsWith("S")) count++;
}
linq を使用すると、これが簡単になります
var count = list.Where(x => x != null && x.StartsWith("S")).Count();
int k = 0;
foreach (string aName in yourStringList)
{
if (aName.StartsWith("S"))
{
k++
}
}
k
「S」で始まる名前の数があります
LINQ にアクセスできる場合は、次のようなものです
int count = myList.Count(name => name.StartsWith("S"));
そうでなければ、次のようなもの
int count = myList.FindAll(name => name.StartsWith("S")).Count;
(編集:Bob Valeが彼の回答で指摘しているように、リストエントリのいずれかがnullになる可能性がある場合は、nullチェックなどを追加する必要がありますname => name != null && name.StartsWith("S")
。)
List<string> list = new List<string>();
...
int count = list.Count(c => c!= null && c.StartsWith("S"));