6

私はList<String>1000人の名前を持っています。「S」で始まる名前の数を知りたいです。

それを行うための最良の選択肢は何ですか?

4

5 に答える 5

12

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++;
}
于 2012-10-16T09:56:18.120 に答える
3

linq を使用すると、これが簡単になります

var count = list.Where(x => x != null && x.StartsWith("S")).Count();
于 2012-10-16T09:54:18.403 に答える
1
int k = 0;
foreach (string aName in yourStringList)
{
  if (aName.StartsWith("S"))
    {
    k++
    }
}

k「S」で始まる名前の数があります

于 2012-10-16T09:57:21.223 に答える
1

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")。)

于 2012-10-16T09:54:59.037 に答える
0
List<string> list = new List<string>();
...
int count = list.Count(c =>  c!= null && c.StartsWith("S"));
于 2012-10-16T09:56:39.703 に答える