我有2個列表,Planets
和Favorites
。它們包含多個由空格分隔的單詞。拆分列表成子列表,List.Contains()找不到匹配
我將列表按空間拆分爲子列表。
現在我想檢查Planets
是否包含Favorites
的名稱。
但Planets.Contains()
找不到匹配項。
http://rextester.com/YLOG10363
// Planets List
//
List<string> Planets = new List<string>();
Planets.Add("First Mercury Gray");
Planets.Add("Second Venus Yellow");
Planets.Add("Third Earth Blue");
Planets.Add("Fourth Mars Red");
// Favorites List
//
List<string> Favorites = new List<string>();
Favorites.Add("Venus Hot");
Favorites.Add("Mars Cold");
// Sublists
//
string[] arrPlanets = null;
string[] arrFavorites = null;
List<string> Order = new List<string>();
List<string> Names = new List<string>();
List<string> Colors = new List<string>();
// In each Line of Planets & Favorites Lists, Split by Space
// Add Word to it's Sublist
//
for (int i = 0; i < Planets.Count; i++)
{
// Create Planet Sublists
arrPlanets = Convert.ToString(Planets[i]).Split(' ');
Order.Add(arrPlanets[0]);
Names.Add(arrPlanets[1]);
Colors.Add(arrPlanets[2]);
// Create Favorites Sublist
// Prevent Favorites index from going out of range
if (i < Favorites.Count())
{
arrFavorites = Convert.ToString(Favorites[i]).Split(' ');
// Display Message if Planets List Contains a Name from Favorites
//
if (Planets.Contains(arrFavorites[0]))
{
Console.WriteLine("Favorite Detected.");
}
}
}
你爲什麼在字符串上使用Convert.ToString?另外,我建議您將這些值解析爲包含3個屬性的類,然後使用該類類型的列表。 – juharr
'公共類Planet {公共字符串Order {set;得到; } public string Name {set;得到; } public string Color {set;得到; }}' –
@juharr我有一個錯誤,說它不能將字符串轉換爲字符串。但是在重構之後,似乎無需這樣做就可以進行編譯。 –