如何创建包含具有值的统计信息的列表?

时间:2016-03-10 10:34:16

标签: c# arrays

我可以制作一个包含stats的数组,其数值如下所示吗?

我知道这个特定代码不起作用,但是有什么方法可以做类似的事情吗?

string[] stats = new string[] 
{ 
    Money = 100,
    income = 5,
};

如果我想在列表中看到所有stats

foreach (string var in stats)
{
    Console.WriteLine(var.ToString());
}

输出:

  

金钱= 100

     

收入= 5

等等......

3 个答案:

答案 0 :(得分:2)

您需要一个名为stats的类,并覆盖ToString方法,如下所示:

public class Stats
{
    public int Money { get; set; }
    public int Income { get; set; }

    public override string ToString()
    {
        return Money + " " + Income;
    }
}

然后:

List<Stats> stats = new List<Stats>
{
     new Stats
     {
         Money = 100,
         Income = 5
     },
     new Stats
     {
         Money = 200,
         Income = 10
     }
};

foreach (var item in stats)
{
     Console.WriteLine(item.ToString());

    //Or like this:
     Console.WriteLine("Money = {0} , Income = {1}", item.Money , item.Income);

    //Or with c#6 Interpolated Strings
     Console.WriteLine($"Money = {item.Money}");
     Console.WriteLine($"Income = {item.Income}");
}

答案 1 :(得分:0)

您可以使用

   Dictionary<string,int> Values = new Dictionary<string,int>();
   Values.Add("Money",100);
   Values.Add("Income",5);

其中key是(字符串)钱,收入等和值100,5(值)等

答案 2 :(得分:0)

您可以使用班级:

public class YourClassName
{
    public int Money { get; set; }
    public int Income { get; set; }
}

然后你可以使用:

foreach (YourClassName item in items)
{
     Console.WriteLine($"Money = {item.Money}");
     Console.WriteLine($"Income = {item.Income}");
}

并将其存储在如下列表中:

List<YourClassName> items = new List<YourClassName>();
items.Add(new YourClassName()
{
    Income = 5,
    Money = 100
});