Я хотел вернуть два разных значения из одной и той же функции, но оказалось, что вы можете возвращать только 1, но есть и другие вокруг него, как с использованием параметров кортежа и вывода ... Я не знаю Не понимаю, как их структурировать, а синтаксис запутан. Я несколько раз пытался заставить его работать, используя пробную версию и ошибку, но каждый раз, когда программа даже не запускается. Если вы можете показать мне решение, которое будет высоко оценено. Мне удалось вернуть строку [] карты, но теперь мне нужно понять, как я могу вернуть ИНТ [] значение из одной и тех же функцийНесколько разных типов возврата от одной и той же функции
namespace Testing2._0
{
class Program
{
static void Main(string[] args)
{
string[] cards = ShuffleCardSystem();
Dealing(cards);
Format();
Console.ReadLine();
}
static void Format()
{
//Not important
}
}
static string [] ShuffleCardSystem()
{
string[] ranks = new string[13] { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K" };
int rankCounter = 0;
string []suits = new string[4] { "♠", "♣", "♦", "♥" };
int suitsCounter = 0;
int shuffle; string temp;
Random rnd = new Random();
int[] value = new int[52];
string numbers = string.Empty;
int convert;
string[]cards = new string[52];
for (int i = 0; i < 52; i++)
{
cards[i] = ranks[rankCounter] + suits[suitsCounter];
rankCounter++;
if (rankCounter == 13)
{
rankCounter = 0;
suitsCounter += 1;
}
}
for (int i = 51; i >= 0; i--)
{
numbers= string.Empty;
shuffle = rnd.Next(0, i);
temp = cards[shuffle];
cards[shuffle] = cards[i];
cards[i] = temp;
for (int position =0; position<cards[i].Length; position++)
{
if (char.IsDigit(cards[i][position]))
{
numbers+=cards[i][position];
convert= Convert.ToInt32(numbers);
value[i]= convert;
if (value[i] ==1)
{
value [i]=11;
}
}
if (cards[i].Any(char.IsLetter))
{
value[i] = 10;
}
}
}
}
return cards; // I want to return value
}
static void Dealing(string[] cards)
{
//other unrelated code...
}
}
}
}
}
Почему вы не возвращаете класс? –
Попробуйте вернуть массив объектов. –