Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8835227
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 14, 20262026-06-14T09:12:43+00:00 2026-06-14T09:12:43+00:00

I want to select some fields from a datarow doing something like: var result

  • 0

I want to select some fields from a datarow doing something like:

var result = datatable.AsEnumerable()
    .Select(x => new { x.Field<string>("Field1"), x.Field<string>("Field2")});

Unfortunately this isn’t working saying:

Invalid anonymous type member declarator. Anonymous type members must be declared with a member assignment, simple name or member access.

How can I achieve what I want?

Edit: As it seems there are (at least) two ways to achieve it:

  1. Name ’em:

    var result = datatable.AsEnumerable().Select(x => new 
    { 
        Field1 = x.Field("Field1"), 
        Field2 = x.Field("Field2")
    });
  2. Create a new object

Let’s say we have a class

class MyClass
{
    public string Field1 { get; set; }
    public string Field2 { get; set; }

    public MyClass(string field1, string field2)
    {
        this.Field1 = field1;
        this.Field2 = field2;
    }
}

we can do the following:

var result = datatable.AsEnumerable()
    .Select(x => new MyClass(x.Field<string>("Field1"), x.Field<string>("Field2")));
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-14T09:12:45+00:00Added an answer on June 14, 2026 at 9:12 am

    You need to give the members of your anonymous type some names.

    var result = datatable.AsEnumerable()
        .Select(x => new { 
            Field1 = x.Field<string>("Field1"), 
            Field2 = x.Field<string>("Field2")});
    

    If you think about it, no names would make it very difficult to refer to the properties later, you’d have to use reflection and some guess work. In any case, the names need to be defined so that the anonymous type can be created for you, behind the scenes.


    If you prefer returning a Tuple instead of an anonymous type you can do

        var result = datatable.AsEnumerable()
        .Select(x => Tuple.Create( 
            Field1 = x.Field<string>("Field1"), 
            Field2 = x.Field<string>("Field2")));
    

    Then you can access the members with Item1 and Item2 respectively.

    However, the Tuple class is new to .Net 4.0 and your question is tagged 3.5


    In response to your comment, you could always declare your own type

    public class MyPair<TItem1, TItem2>
    {
        public MyPair(TItem1 item1, TItem2 item2)
        {
            this.Item1 = item1;
            this.Item2 = item2;
        }
    
        public TItem1 Item1 { get; private set; }
        public TItem2 Item2 { get; private set; }
    }
    

    Which, obviously you would use like this,

    var result = datatable.AsEnumerable()
        .Select(x => new MyPair( 
            Field1 = x.Field<string>("Field1"), 
            Field2 = x.Field<string>("Field2")));
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I want a template to select from two types based on some condition. E.g.
Within CodeIgniter, I'm doing a select, retrieving some blogposts. But I also want the
I have a query that selects some fields to display from a table SELECT
I want to insert data from one DataTable to another with some conditions. I
I have one table containing some fields like Firstname,companyname etc.. Now I want the
I want to get friends list aswell as some fields like profile_pic,username etc.., for
I have users table and want to SELECT some rows by bitmask criteria. I'll
I have a gtk.Textview . I want to find and select some of the
i have users table and i have posts table i want select from users
i have this lists, and i want select li element from jquery when the

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.