c# - Linq 中的 IF else 语句

标签 c# .net database linq

我有一个包含以下数据的数据表

SrNo Roll  Name
1     1     XYZ
99    45    ABC
150   120   POQ
10    9     RTY

我想通过 0-100 和 100-200 找出 srno 范围的 rollnumber 和 Name

所以输出将是

// For the range 0-100
SrNo Roll  Name
1     1     XYZ
99    45    ABC
10    9     RTY

// & For 100-200
SrNo Roll  Name
150   120   POQ

我正在尝试使用 if-else 语句通过 LINQ 实现。

如果有任何其他问题,请使用 LINQ 提出建议!

最佳答案

代码:

var items = 
    new[]
    {
        new { SrNo = 1, Roll = 1, Name = "XYZ" },
        new { SrNo = 99, Roll = 45, Name = "ABC" },
        new { SrNo = 150, Roll = 120, Name = "POQ" },
        new { SrNo = 10, Roll = 9, Name = "RTY" }
    };

const int NumberOfItemsInRange = 100;

var ranges = items
    .GroupBy(arg => arg.SrNo / NumberOfItemsInRange)
    .Select(arg => new { RangeNumber = arg.Key, Items = arg.ToList() })
    .ToList();

foreach (var range in ranges)
{
    Console.WriteLine("Range {0}-{1}", range.RangeNumber * NumberOfItemsInRange, (range.RangeNumber + 1) * NumberOfItemsInRange);
    foreach (var item in range.Items)
        Console.WriteLine("{0,10} {1,10} {2,10}", item.SrNo, item.SrNo, item.Name);
}

输出:

Range 0-100
         1          1        XYZ
        99         99        ABC
        10         10        RTY
Range 100-200
       150        150        POQ

关于c# - Linq 中的 IF else 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6183022/

相关文章:

.net - 中止阻塞线程

android - 如何在 Android 中通过 JDBC 连接到 PostgreSQL 服务器?

c# - 查找所有引用时如何跳过方法的覆盖

c# - 正确的语法;没有结果

c# - 检查是否在 Unity3D 2019.3.05f 中的检查器中分配了 GameObject

mysql - MySQL Workbench 中的正向工程输出错误 1064

database - 您如何混合使用 SQL DB 与键值存储(即 Redis)

c# - 将带有撇号的 json 值发送到 webservice 时出现无效对象错误

c# - 在 Settings.setting 文件中添加新设置

c# - 在 C#.net 中显示面板的效果