English 中文(简体)
数据表选择帮助
原标题:DataTable select help
  • 时间:2011-02-07 17:51:12
  •  标签:
  • c#
  • linq

我正在尝试将数据表转换为列表。你能帮我查询一下吗?

         var result = DataTable1.AsEnumerable().Select(e => {e.Field<int>("MID"), e.Field<string>("MTX")}).ToList();
        JavaScriptSerializer ser = new JavaScriptSerializer();
        string json = ser.Serialize(result);

非常感谢。

最佳回答

您需要在Select调用中提供属性的名称。在这种特殊情况下,这些名称不会自动且明确地解析。尝试

var result = DataTable1.AsEnumerable().Select(row => new { Mid = row.Field<int>("Mid"), MTX = row.Field<string>("MTX") });
JavaScriptSerializer serializer = new JavaScriptSerializer();
string json = serializer.Serialize(result);

然后,这些名称将成为json结果的一部分。例如

[{"Mid":1,"MTX":"A"},{"Mid":2,"MTX":"B"}]
问题回答
IEnumerable<DataRow> sequence = dt.AsEnumerable(); 

List<DataRow> list = dt.AsEnumerable().ToList(); 

尝试:

var result = DataTable1.AsEnumerable()
    .Select(e => new object[] { e.Field<int>("MID"), e.Field<string>("MTX") })
    .ToList();




相关问题
Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

NSArray s, Primitive types and Boxing Oh My!

I m pretty new to the Objective-C world and I have a long history with .net/C# so naturally I m inclined to use my C# wits. Now here s the question: I feel really inclined to create some type of ...

C# Marshal / Pinvoke CBitmap?

I cannot figure out how to marshal a C++ CBitmap to a C# Bitmap or Image class. My import looks like this: [DllImport(@"test.dll", CharSet = CharSet.Unicode)] public static extern IntPtr ...

How to Use Ghostscript DLL to convert PDF to PDF/A

How to user GhostScript DLL to convert PDF to PDF/A. I know I kind of have to call the exported function of gsdll32.dll whose name is gsapi_init_with_args, but how do i pass the right arguments? BTW, ...

Linqy no matchy

Maybe it s something I m doing wrong. I m just learning Linq because I m bored. And so far so good. I made a little program and it basically just outputs all matches (foreach) into a label control. ...

热门标签