0

私のLinqクエリは次のようなものです:

IEnumerable<Results> subResult = from query in datatable.AsEnumerable()
                              select new Results
                                  {
                                      Name = query.Field<string>("Name"),
                                      Date = query.Field<DateTime?>("Date")
                                  }

これには、「名前」フィールドにいくつかのヌルが入っていますnull。それはどのように行うことができますか?

4

3 に答える 3

4

使用 ??オペレーター

IEnumerable<Results> subResult = from query in datatable.AsEnumerable()
                              select new Results
                              {
                                  Name = query.Field<string>("Name")?? string.Empty,
                                  Date = query.Field<DateTime?>("Date")
                              }
于 2013-01-28T19:09:10.320 に答える
2

合体演算子を試しましたか?http://msdn.microsoft.com/en-us/library/ms173224.aspx

何かのようなもの:

Name = query.Field<string>("Name") ?? "0"
于 2013-01-28T19:10:42.783 に答える
0

次のコードは私のために働いた。これを試すことができます。

 class Program
{
    static void Main(string[] args)
    {
        DataTable datatable = new DataTable();
        datatable.Columns.AddRange(new DataColumn[]
            {
               new DataColumn("Name",typeof(System.String)),
               new DataColumn("Date",typeof(System.DateTime))
            });

        datatable.Rows.Add(new object[] { "Sam", DateTime.Now });
        datatable.Rows.Add(new object[] { null, DateTime.Now });

        IEnumerable<Results> subResult = from query in datatable.AsEnumerable()
                                         select new Results
                                             {
                                                 Name = query.Field<string>("Name") ?? "0" ,
                                                 Date = query.Field<DateTime?>("Date")
                                             };
    }
}

class Results
{

    public string Name { get; set; }

    public DateTime? Date { get; set; }
}
于 2013-01-28T19:20:38.763 に答える