我正在尝试完成作业,我遇到以下问题(我在过去12小时内已经完成了这项工作)。请帮忙。
我打开了一个文件,将文件保存到struct数组中。可以访问结构的每个元素,但不知道如何访问每个单独的字段。即
STRUCT
//struct to hold the hand values
public struct CurrentHand
{
public char cardSuit;
public int cardValue;
}
我需要将cardValue
提取到数组或变量中,以便我可以评估每个记录,即手是一对还是两对等。我不知道如何做到这一点。从我发现不可能访问每个领域,这是真的吗?
//Open file and load data into array
public static void LoadHandData(CurrentHand[] handData, string fileName)
{
string input = ""; //temporary variable to hold one line of data
string[] cardData; //temporary array to hold data split from input
//Open the file and read the contents
StreamReader readHand = new StreamReader(fileName);
input = readHand.ReadLine(); //one record
cardData = input.Split(' '); //split record into fields
for (int counter = 0; counter < handData.Length; counter++)
{
handData[counter].cardSuit = Convert.ToChar(cardData[counter *2]);
handData[counter].cardValue = Convert.ToInt16(cardData[counter *2 +1]);
}
readHand.Close();
}
答案 0 :(得分:4)
要获得包含您手中持有的牌的值的数组,您可以执行以下操作:
var values = handData.Select(x=>x.cardValue).ToArray();
var seeds = handData.Select(x=>x.cardSuit).ToArray();
顺便说一句,你的结构应该被称为Card或类似的东西,因为Hand应该是一组牌。你给它的名字只是令人困惑,使你的代码不易重复。
答案 1 :(得分:0)
我的问题不明确。无论如何,您可以使用访问单个字段。 试试这个......
CurrentHand.cardValue
使用上面的方法,您可以获取并设置当前和结构的值。