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 8423123
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 10, 20262026-06-10T03:38:33+00:00 2026-06-10T03:38:33+00:00

I have a list of items. I have to select item with minimum difference

  • 0

I have a list of items.
I have to select item with minimum difference between two of its properties.

Eg : Student { string Name, int ScoredMarks, int TotalMarks }
Note : Total marks will not be the same for all students.
I have to select the student with least difference of TotalMarks and ScoredMarks.
I was able to do this way

int minDiff = students.Min(x => (x.TotalMarks - x.ScoredMarks));
var result = from s in students
             where s.TotalMarks - s.ScoredMarks == minDiff
             select s;

Can i achieve it in a single statement? What would be the perfomance of doing this way?
which would be optimistic

  • 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-10T03:38:35+00:00Added an answer on June 10, 2026 at 3:38 am

    You can use Math.Abs to get the absolute difference, order by it and take the first.

    Student minDiff = students
            .OrderBy(x => Math.Abs(x.TotalMarks - x.ScoredMarks))
            .FirstOrDefault();
    if(minDiff != null)
    {
         // ...
    }
    

    If you want the best performance you should use MinBy of Skeets MoreLinq. My approach needs to order all items by the value before it takes the one with the lowest difference.

    If I have to select all students with minimum differnce i.e what if i have more than one student with same minimum difference.

    Then you could use GroupBy:

    var minDiffGroup = students
                .GroupBy(x => Math.Abs(x.TotalMarks - x.ScoredMarks))
                .OrderBy(g => g.Key)
                .FirstOrDefault();
    foreach(Student student in minDiffGroup)
    {
        // ...
    }
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a list of items, which has two values, a name and an
I have list of items in my dropdown. Now I wish to select item
I have a select list. I want to append a new item in italic
I have a list of items of type ViewLookupItem which has these properties: For
I have a list of items, like a menu, where the current item has
I have a list of items that the user can select. I want it
I'd like to return a list of items of only those that have two
If I have two objects, one being the list of items, and the other
I have a list of items in one view controller. I can select an
I have a list of items that is refreshed daily where each item falls

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.