none
Проблемы с char RRS feed

  • Вопрос

  • возникла трудность с разделением массива

    массив 1 =

    string[] Seniors = { "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A"};
                    string[] Suites = { "\u2660", "\u2663", "\u2665", "\u2666" };
                    BigDeck = new string[13,4];
                    for (int i = 0; i < 13; i++)
                    {
                        for (int j = 0; j < 4; j++)
                        {
                            BigDeck[i,j] = Seniors[i]+Suites[j];
                        }
                    }

    как видно 1 единица массива будет содержать K♥ (например)

    то есть два символа которые собственно "K" + "\u2660"

    но для химических подсчетов нужно их разделить. . .

    public static string[] pc1 = new string[2];
                static string[] pc2 = new string[2];
                static string[] cc1 = new string[2];
                . . .
                public static void GetToMemmory(string[] _playerHand, string[] _compHand, string[] _onTable)
                {
                    char c = '\\';
                    pc1 = _playerHand[0].Split(c);
                 . . . 
                }
                public static void Test(string[] pl)
                {
                    char c = new char();
                    c = (char)220; //<<<<<< не работает ! ! !
                    pc1 = pl[0].Split(c);
                }
                private static bool IsFlush()
                {
                    return false;
                }

    так вот когда я пытаюсь разделить эти символы ничего не происходит

    почему и как реализовать данную задачу.

    буду признателен

Ответы

  • В приведенном коде: Каждый символ(char) строки pl[0] преобразуется в string(ToString()), и затем все полученные строки преобразуются в массив строк.

    но тут не \\ а просто (char)220 1 раз

    Тогда ответьте на пару вопросов: Почему именно 220(▄)? И что к примеру лежит в pl[0]?


Все ответы

  • Попытайтесь 

    pc1=pl[0].Split(new Char [] {с});


    • Изменено Higgs.Boson 23 мая 2013 г. 17:17
  • Ну так все верно, в переменной находится значение "K♥"="K\u2660", а не  "K\\u2660". Поэтому и разделение с помощью символа '\\' ни к чему не приведет, так как его в этой строке и нет, есть только управляющий символ \.

    В данном случае, самое простое решение будет таковым:

    public static void Test(string[] pl)
    {
        pc1 = pl[0].Select(x => x.ToString()).ToArray();
    }
  • Ну так все верно, в переменной находится значение "K♥"="K\u2660", а не  "K\\u2660". Поэтому и разделение с помощью символа '\\' ни к чему не приведет, так как его в этой строке и нет, есть только управляющий символ \.

    В данном случае, самое простое решение будет таковым:

    public static void Test(string[] pl)
    {
        pc1 = pl[0].Select(x => x.ToString()).ToArray();
    }
    не люблю копи пейст не могли бы сказать что это делает по шагам
  • Ну так все верно, в переменной находится значение "K♥"="K\u2660", а не  "K\\u2660". Поэтому и разделение с помощью символа '\\' ни к чему не приведет, так как его в этой строке и нет, есть только управляющий символ \.

    В данном случае, самое простое решение будет таковым:

    public static void Test(string[] pl)
    {
        pc1 = pl[0].Select(x => x.ToString()).ToArray();
    }

    но тут не \\ а просто (char)220 1 раз

    char c = new char(); c = (char)220; //<<<<<< не работает ! ! ! pc1 = pl[0].Split(c);

  • В приведенном коде: Каждый символ(char) строки pl[0] преобразуется в string(ToString()), и затем все полученные строки преобразуются в массив строк.

    но тут не \\ а просто (char)220 1 раз

    Тогда ответьте на пару вопросов: Почему именно 220(▄)? И что к примеру лежит в pl[0]?