如何创建包含固定条目集的列表。
学习C#并进行练习以列出一副牌中的所有牌(没有笑话)。要使用两个foreach循环打印出来。
但是我无法获得卡的默认列表(我正在重载方法)。查看文档http://msdn.microsoft.com/en-us/library/6sh2ey19(v=vs.110).aspx和一些示例http://www.dotnetperls.com/list,每个元素都会单独添加。
// from dotnet perls
class Program
{
static void Main()
{
List<string> dogs = new List<string>(); // Example List
dogs.Add("spaniel"); // Contains: spaniel
dogs.Add("beagle"); // Contains: spaniel, beagle
dogs.Insert(1, "dalmatian"); // Contains: spaniel, dalmatian, beagle
foreach (string dog in dogs) // Display for verification
{
Console.WriteLine(dog);
}
}
}
我尝试了Add和Insert方法,但无法创建我的列表。
// my code
using System;
using System.Collections.Generic;
using System.Linq;
class Deck
{
static void Main()
{
List<string> deck = new List<string>();
deck.Insert("Ace", 2, 3, 4, 5, 6, 7, 8, 9, 10, "Jack", "Queen", "King");
List<string> colour = new List<string>();
colour.Add("Hearts", "Diamonds", "Spades", "Clubs");
foreach (string card in deck)
{
foreach(string suit in colour)
{
Console.Write(colour + " " + card);
}
}
}
}
答案 0 :(得分:2)
List.Add或List.Insert不接受可变长度参数。您可能需要使用List.AddRange方法。
List<string> deck = new List<string>();
deck.AddRange(new []{"Ace", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Jack", "Queen", "King"});
List<string> colour = new List<string>();
colour.AddRange(new []{"Hearts", "Diamonds", "Spades", "Clubs"});
另请注意,我已将数字参数转换为字符串,因为列表为List<string>
,否则将无法编译。