假设我有一个成员列表,每个成员都是一个自定义对象:
public class pail
{
public string milk;
public string water;
public string butter;
public string beer;
}
public class AddToPail()
{
private List<pail> _pailList = new List<pail>();
PSVM(String[] args)
{
for(int i = 0; i < 200; i++)
{
pail newPail = new Pail();
switch(i)
{
case 1:
{
newPail.milk = "This pail has milk";
}
break;
case 2:
{
newPail.butter = "This pail has butter";
}
break;
case 3:
{
newPail.water = "This pail has water";
}
break;
case 4:
{
newPail.beer = "This pail has beer";
}
break;
}
_pailList.Add(newPail);
}
foreach (pail thisPail in _pailList)
{
using (StreamWriter SW = new StreamWriter(@"C:\pail.txt")
{
if (!thisPail.milk.IsNullOrEmpty())
{
SW.WriteLine(thisPail.milk);
}
else if (!thisPail.butter.IsNullOrEmpty())
{
SW.WriteLine(thisPail.butter);
}
else if (!thisPail.beer.IsNullOrEmpty())
{
SW.WriteLine(thisPail.beer);
}
else if (!thisPail.water.IsNullOrEmpty())
{
SW.WriteLine(thisPail.water);
}
else
{
Console.Writeline("oops");
}
}
}
}
}
假设我想设置一个仅打印真实值的 StreamWriter,而不必编写一百万个 if、else if、else 语句……在 C# 中有简单的方法或库来执行此操作吗?我基本上是在寻找一种仅以简洁明了的方式打印出真实值的方法。有人对我应该如何处理这个问题有任何建议吗?
非常感谢!
编辑 所以这个的最终目标是我有一个大约有 20 个成员的对象。对象会自动填充,填充脚本可以将某些成员留空。我希望能够以 CSV 格式打印成员,而不必有 20 个 if 语句来查看对象中的特定成员是否在通过 streamwriter 输出之前已被实例化。
编辑 2
我将代码更改为更接近我需要它做的事情。抱歉之前的解释不好。