将结构存储在列表中,然后显示列表?
问题描述:
所以我完全不熟悉编程;我已经阅读了许多类似的问题和相应的答案,并且花费了更多的时间,而不是我想承认尝试不同的方式来解决我的问题,但我似乎无法找到问题所在。无论如何,这是我的代码:将结构存储在列表中,然后显示列表?
public struct City
{
public string cityName { get; set; }
public float cityTemp { get; set; }
}
class Program
{
static void Main(string[] args)
{
var cityList = new List<City>();
cityList.Add(new City
{
cityName = "Stockholm",
cityTemp = 22.65f
});
Console.WriteLine("List: ");
Console.WriteLine(cityList);
Console.ReadKey();
}
}
如何使列表存储我的结构,以及如何正确显示列表? 编辑:我知道我需要使用foreach,这个代码只是我的问题的准系统表示。
答
你想是这样的:
public struct City
{
public string cityName { get; set; }
public float cityTemp { get; set; }
}
class Program
{
static void Main(string[] args)
{
var cityList = new List<City>();
cityList.Add(new City
{
cityName = "Stockholm",
cityTemp = 22.65f
});
cityList.Add(new City
{
cityName = "London",
cityTemp = 25.24f
});
Console.WriteLine("List: ");
foreach (var city in cityList)
{
Console.WriteLine(string.Format("City: {0} is currently: {1}oC", city.cityName, city.cityTemp);
}
Console.ReadKey();
}
}
您还可以通过重写ToString()
这样让你的城市输出一个明智的回应:
public struct City
{
public string cityName { get; set; }
public float cityTemp { get; set; }
public override string ToString()
{
return String.Format("City: {0} is currently: {1}oC", cityName, cityTemp);
}
}
,那么你可以有:
class Program
{
static void Main(string[] args)
{
var cityList = new List<City>();
cityList.Add(new City
{
cityName = "Stockholm",
cityTemp = 22.65f
});
cityList.Add(new City
{
cityName = "London",
cityTemp = 25.24f
});
Console.WriteLine("List: ");
foreach (var city in cityList)
{
Console.WriteLine(city);
}
Console.ReadKey();
}
}
答
列表是存储您的结构。至于展示他们,这不符合魔法。您必须遍历列表并显示每个列表。
public struct City
{
public string cityName { get; set; }
public float cityTemp { get; set; }
public override string ToString()
{
return String.Format("{0} {1}", cityName, cityTemp);
}
}
public void DisplayAll(IEnumerable<City> cities)
{
foreach (var city in cities)
Console.WriteLine(city);
}
答
您需要遍历城市列表以显示它们:
Console.WriteLine("List: ");
foreach(var city in cityList)
{
Console.WriteLine(city.cityName + " " + city.cityTemp);
}
完美,string.Format(...)是我一直在寻找的! – Welsing