1

C#、Linq to Entities、.Net4を使用しています

次のコードを使用して、データのリストを抽出しています。データは数値の場合がありますが、一部のレコードではnullまたはその他の形式のデータの場合があります。Linqを使用して、このファイルの数値だけを抽出することは可能ですか、それとも追加の手順を使用する必要がありますか?

var s = (from t in context.Cards where t.CardData != null select t.CardData).ToList();

上記は文字列のリストを返しますが、intのリストが欲しいのですが。CardDataフィールドは、null、数値、またはテキストの場合があります。DBでは、null許容のnvarcharフィールドです。

4

1 に答える 1

2

これを行う最も簡単な方法TryParseは、返されたリストの各要素で使用することです。すでにnull要素を削除しているので、何かがあることがわかります。

var numberList = new List<int>();
foreach (var item in s)
{
    int result = 0;
    if (Int32.TryParse(item, result))
    {
        numberList.Add(result);
    }
}

これには、18か月後に何が行われるかを理解できるという追加の利点があります。

于 2012-06-27T10:44:26.523 に答える