メンバーのリストがあり、それぞれがカスタムオブジェクトであるとします。
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を設定したいとします。そうでなければ、elseステートメント... C#でこれを行う簡単な方法またはライブラリはありますか?私は基本的に、真の値をきちんと簡潔に印刷する方法を探しています。私がこれにどのように取り組むべきかについて誰かが何かアドバイスがありますか?
どうもありがとうございます!
編集 したがって、これの最終的な目標は、約20人のメンバーを持つオブジェクトを作成することです。オブジェクトは自動的に入力され、入力スクリプトは一部のメンバーを空のままにすることができます。メンバーをCSV形式で印刷できるようにしたいのですが、ストリームライターを介して出力する前に、オブジェクト内の特定のメンバーがインスタンス化されているかどうかを確認するために20個のifステートメントを用意する必要はありません。
編集2
コードを変更して、必要なものに少し近づけました。前の悪い説明でごめんなさい。