如何将字符串的某些部分拆分为不同的数组

时间:2015-09-01 13:12:48

标签: c#

寻找分割以下(扑克牌)弦的方法:C 14 C 13 C 12 C 11 C 10 所以我可以将套装单独存储到卡片值,我怎样才能分隔字符和整数,c#的新内容,这可能很简单,但请以新手友好的方式向我解释欢呼:)

2 个答案:

答案 0 :(得分:0)

按照以下代码

string str = "C 14 C 13 C 12 C 11 C 10";

string[] mixArray = str.Split(' ');

List<int> numbers = new List<int>();
List<string> characters = new List<string>();

for (int i = 0; i < mixArray.Length; i++)
{
    int tempInt;
    if (int.TryParse(mixArray[i], out tempInt))
        numbers.Add(tempInt);
    else
        characters.Add(mixArray[i]);
}

答案 1 :(得分:0)

我建议您采用更多面向对象的方法。 首先创建你的课程&#39; Card&#39;将一张卡存放在

public class Card
{
    public int Value { get; set; }
    public string Suit { get; set; }
}

之后,您可以按照以下方式管理字符串

//Original string
string values = "C 14 C 13 C 12 C 11 C 10";
//this line will split your string in an array and will take out empty values if exists
var split = values.Split(' ').Where(x => !string.IsNullOrEmpty(x)).ToArray(); ;

List<Card> cards = new List<Card>();
string card= string.Empty;

    for (int i = 0; i < split.Count() - 1; i += 2)
    {
        cards.Add(new Card() { Value = int.Parse(split[i + 1]), Suit = split[i] });
    }

将所有卡存储在比阵列更灵活的列表中之后。我认为可能是更好的方法。