[英]if statement short-hand
如果有更简洁的方式来编写这种类型的语句:
if (!string.IsNullOrEmpty(c1))
{
var _individual = new Individual { Age = Convert.ToInt32(c1) };
request.Individuals.Add(_individual);
}
if (!string.IsNullOrEmpty(c2))
{
var _individual = new Individual { Age = Convert.ToInt32(c2) };
request.Individuals.Add(_individual);
}
if (!string.IsNullOrEmpty(c3))
{
var _individual = new Individual { Age = Convert.ToInt32(c3) };
request.Individuals.Add(_individual);
}
if (!string.IsNullOrEmpty(c4))
{
var _individual = new Individual { Age = Convert.ToInt32(c4) };
request.Individuals.Add(_individual);
}
if (!string.IsNullOrEmpty(c5))
{
var _individual = new Individual { Age = Convert.ToInt32(c5) };
request.Individuals.Add(_individual);
}
当然! 编写一个方法:
private void AddIfAgeValid(string age)
{
if (!string.IsNullOrEmpty(age))
{
var _individual = new Individual { Age = Convert.ToInt32(age) };
request.Individuals.Add(_individual);
}
}
然后只需调用它:
AddIfAgeValid(c1);
AddIfAgeValid(c2);
AddIfAgeValid(c3);
// ..
您可能还必须传递request
,不确定在哪里声明它。
您可能还想研究使用数组或List<string>
来存储年龄,而不是使用c1, c2, c3, ..
变量。
foreach (var c in new[] {c1, c2, c3, c4, c5})
{
if (!string.IsNullOrEmpty(c))
{
var _individual = new Individual { Age = Convert.ToInt32(c) };
request.Individuals.Add(_individual);
}
}
foreach (var x in (new[] { c1, c2, c3, c4, c5 }).Where(x => !string.IsNullOrEmpty(x)))
request.Individuals.Add(new Individual { Age = Convert.ToInt32(x) });
如果只有Individuals
支持AddRange
,则为AddRange
:
request.Individuals.AddRange((new[] { c1, c2, c3, c4, c5 }).Where(x => !string.IsNullOrEmpty(x)).Select(x => new Individual { Age = Convert.ToInt32(x) }));
但是我不会走那么远。 它比foreach
可读性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.