我有一个 DataTable,它有 3 列,如 IsMonday、Istuesday 和 IsWednesday,它们都是字符串字段,其中包含 Y 和 N 等数据。我想获取每一行并以字符串形式返回结果。我想要得到的是,
if a row is Y,N,Y then the output will be 1 3,two is blank since it is N
if a row is N,N,Y then the output will be 3,one and two is blank since it is N
像这样,使用 Linq case 语句或任何其他方式的任何想法
最佳答案
考虑到您有一个从数据库返回的行集合,看起来与此列表类似。
var entity = new List<Entity>()
{
new Entity(){ IsMonday = "Y", IsTuesday = "N", IsWednesday = "Y"},
new Entity() { IsMonday = "N", IsTuesday = "N", IsWednesday = "Y"},
new Entity() { IsMonday = "Y", IsTuesday = "Y", IsWednesday = "N"}
};
要获得预期的结果,您可以使用类似这样的代码
foreach (var e in entity)
{
var a = e.IsMonday.Equals("y", StringComparison.OrdinalIgnoreCase) ? "1" : " ";
var b = e.IsTuesday.Equals("y", StringComparison.OrdinalIgnoreCase) ? "2" : " ";
var c = e.IsWednesday.Equals("y", StringComparison.OrdinalIgnoreCase) ? "3" : " ";
var s = String.Format("{0} {1} {2}", a, b, c);
}
这里变量“s”包含结果字符串。
关于c# - 在 Linq 的数据表数据行中选择大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20367827/