如何将字符串的某些部分分割成不同的数组
本文关键字:分割 数组 些部 字符串 | 更新日期: 2023-09-27 18:10:52
寻找一种方法来分割以下(扑克手)字符串:C 14 C 13 C 12 C 11 C 10这样我就可以将套装分别存储到卡片值中,我如何将字符和整数分开,c#新手,这可能很容易,但请以新手友好的方式向我解释一下干杯:)
跟随下面的代码
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]);
}
我建议您采用更面向对象的方法。首先创建类'Card',在
中存储一张卡片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] });
}
当你把所有的牌存储在一个比数组更灵活的列表中时。我觉得还有更好的办法