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

  • Home
  • SEARCH
  • 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 229913
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T19:48:20+00:00 2026-05-11T19:48:20+00:00

I am having a hard time creating working Group By and Sort By clauses

  • 0

I am having a hard time creating working Group By and Sort By clauses against a generic List myList.
myList has a list of property ‘Settings’ which itself contains a list of ‘child’ properties for each business.

I want to group by a Industry and within each Industry, sort by business name. My intent would be this:

string groupSetting = "Industry";
sortSetting = "BusinessName";
myList.GroupBy(p => p.Settings.Find(s => s.Name == groupSetting)).OrderBy(p => p.Settings.Find(t => t.Name == sortSetting));

However I am getting the error :
‘System.Linq.IGrouping does not contain a definition for Settings and no extension method Settings accepting a first argument of type System.Linq.Igrouping could be found….‘ indicating I cannot invoke the order by clause without some transformation or additional treatment.

I have tried all sorts of things to split this out and get it working, but I am missing something. Any help appreciated

  • 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-05-11T19:48:20+00:00Added an answer on May 11, 2026 at 7:48 pm

    Your problem is that GroupBy doesn’t return a single list of settings, it returns a “list-of-lists”. This is the IGrouping which you are seeing.

    You need to iterate over each group in the IGrouping, sort that group, and then iterate over each item within the group. Observe:

    public static void Main( string[] args )
    {
        var groupSetting = "Industry";
    
        // step 1: group the data. Note this doesn't actually create copies of the data as
        // it's all lazy loaded
        // BEWARE. If a company doesn't have the "Industry" setting, this will throw an exception
        var grouped = companies.GroupBy(c => c.Settings.First(s => s.Name == groupSetting).Value);
        foreach( var group in grouped )
        {
            Console.WriteLine(group.Key);// this is the Value that came out of the GroupBy
    
            // Note how we have to do the ordering within each individual group. 
            // It doesn't make sense to try group them in one hit like in your question
            foreach( var item in group.OrderBy(bus => bus.Name) )
                Console.WriteLine(" - " + item.Name);
        }
    }
    

    Data structures provided for clarity:

    struct Setting { public string Name; public string Value; }
    struct Business { public string Name; public IEnumerable<Setting> Settings; }
    
    static IEnumerable<Business> companies = new[]{
        new Business{ Name = "XYZ Inc.", Settings = new[]{ 
            new Setting{ Name="Age", Value="27"},
            new Setting{ Name="Industry", Value="IT"}
        }},
        new Business{ Name = "Programmers++", Settings = new[]{ 
            new Setting{ Name="Age", Value="27"},
            new Setting{ Name="Industry", Value="IT"}
        }},
        new Business{ Name = "Jeff's Luxury Salmon", Settings = new[]{ 
            new Setting{ Name="Age", Value="63"},
            new Setting{ Name="Industry", Value="Sports"}
        }},
        new Business{ Name = "Bank of Khazakstan", Settings = new[]{ 
            new Setting{ Name="Age", Value="30"},
            new Setting{ Name="Industry", Value="Finance"}
        }},
    };
    

    This produces the following output: Copy/paste the code and run it and play with it

    IT
     - Programmers++
     - XYZ Inc.
    Sports
     - Jeff's Luxury Salmon
    Finance
     - Bank of Khazakstan
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 172k
  • Answers 172k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer The problem with kernel mode drivers is that they are… May 12, 2026 at 2:27 pm
  • Editorial Team
    Editorial Team added an answer See the key events compatibility table. Opera does not cancel… May 12, 2026 at 2:27 pm
  • Editorial Team
    Editorial Team added an answer The reason for the exception being thrown is that the… May 12, 2026 at 2:27 pm

Related Questions

I am creating a Distinct extension method where I can pass in the criteria
I am creating a user control that contains a panel as well as 4
I am building a todo list application for one of my projects and I
I have an xml document that I am creating using the loop below and

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

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.