1 回答
TA贡献1797条经验 获得超6个赞
我认为我还没有完全理解你的目的,但这是我的看法:
您希望按邮政编码进行分组,但如果邮政编码为 null 或为空或长度小于 3 个字符,您希望将它们放入组中"<null>"。
如果这就是您想要的,您可以尝试以下操作:
var newset = (from rst in QBModel.ResultsTable
group rst by GetGroupRepresentation(rst.CallerZipCode) into newGroup
select new DataSourceRecord()
{
// ...
}).ToList();
通过以下实现GetGroupRepresentation:
private string GetGroupRepresentation(string zipCode)
{
if (string.IsNullOrEmpty(zipCode) || zipCode.Length < 3)
{
return "<null>";
}
return zipCode;
}
我不明白为什么你要使用 Substring-method 或 StartsWith-method,所以我只是将其删除。
这是一个完整的示例:
static void Main(string[] args)
{
var zipcodes = new List<string> { "1234", "4321", null, "", "12" };
// LINQ Query Syntax
var groups = from code in zipcodes
group code by GetGroupRepresentation(code) into formattedCode
select formattedCode;
// I think this is easier to read in LINQ Method Syntax.
// var groups = zipcodes.GroupBy(code => GetGroupRepresentation(code));
}
private static string GetGroupRepresentation(string zipCode)
{
if (string.IsNullOrEmpty(zipCode) || zipCode.Length < 3)
{
return "<null>";
}
return zipCode;
}
- 1 回答
- 0 关注
- 123 浏览
添加回答
举报