1

プロジェクトでlinqを使用しようとしています。

そこで、linq を使用したリストの分割と保持について質問があります。

Id 値を文字列として持っています。

「1」、「2」、「3」、「4」

上記の Id 値がitem.StringIdValuesに表示されます

その後、カンマ ID 値として分割する必要があります。その後、int32 に変換して UserId と一致させたいと考えています。

foreach (var item in MyDatas)
{
var Something = item.StringValues; 
int FilteredId == // I want to split as comma and convert values to int32.
var result=context.Users.Any(s=>s.UserId==FilteredId).select(s>s.UserName).firstordefault();
//Than Keep above result Id's in list.

List<Something>=result;
}

どんな助けでも大歓迎です。

ありがとう。

4

1 に答える 1

2

分割して解析し、次を選択する必要があります。

List<int> numericItems = item.StringIdValues
    .Split(',', StringSplitOptions.RemoveEmptyEntries)
    .Select(i => int.Parse(i)).ToList()

ユーザー ID を一致させるには、次のようにします。

int FilteredId = item.StringIdValues
    .Split(',', StringSplitOptions.RemoveEmptyEntries)
    .Select(i => int.Parse(i))
    .First(i => i == UserId);

リストに存在しない可能性がある場合は、に変更してFirstOrDefaultnull チェックすることをお勧めしUserIdます。

于 2013-10-02T15:26:59.947 に答える