如何从通用对象列表创建 csv 文件?在示例中,分子列表包含 3 个 Molecule 类型的对象:
namespace example_reactioncalc
{
class Program
{
public class Molecule
{
public double property_A { get; set; }
public double property_B { get; set; }
}
public static Molecule Reaction(Molecule molecule_1, Molecule molecule_2)
{
Molecule reacted_molecule = new Molecule();
reacted_molecule.property_A = molecule_1.property_A + molecule_2.property_A;
reacted_molecule.property_B = (molecule_1.property_B + molecule_2.property_B) / 2;
return reacted_molecule;
}
static void Main(string[] args)
{
// Initiation of the list of molecules
List<Molecule> molecules = new List<Molecule>();
// Adding two molecules to the list
molecules.Add(new Molecule() { property_A = 10, property_B = 20 });
molecules.Add(new Molecule() { property_A = 3, property_B = 7 });
// Reacting two molecules to get a new one:
Molecule new_molecule=Reaction(molecules[0],molecules[1]);
molecules.Add(new_molecule);
Run Code Online (Sandbox Code Playgroud)
在这里,可以打印 3 个对象的列表属性之一的内容:
Console.WriteLine("Properties A and B of the 1st molecule:");
Console.WriteLine(molecules[0].property_A);
Console.WriteLine(molecules[0].property_B);
Console.WriteLine("Property A and B of the 2nd molecule:");
Console.WriteLine(molecules[1].property_A);
Console.WriteLine(molecules[1].property_B);
Console.WriteLine("Property A and B of the 3rd, new molecule:");
Console.WriteLine(molecules[2].property_A);
Console.WriteLine(molecules[2].property_B);
Console.ReadLine();
}
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
Properties A and B of the 1st molecule:
10
20
Properties A and B of the 2nd molecule:
3
7
Properties A and B of the 3rd, new molecule:
13
13.5
Run Code Online (Sandbox Code Playgroud)
所以我需要一个包含完整输出的 csv 文件:
10,20
3,7
13,13.5
Run Code Online (Sandbox Code Playgroud)
我试图在论坛中找到这样的方法,但我只找到了通用数组列表的示例,并且无法使它们工作。我真的很感谢对这个问题的任何帮助(我是 C# 的初学者)。
CSV 文件的生成非常简单:
using (StreamWriter writer = new StreamWriter("myfile.csv"))
{
foreach (Molecule molecule in molecules)
{
writer.WriteLine($"{molecule.property_A},{molecule.property_B}");
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4422 次 |
| 最近记录: |