строка на символ в c# - PullRequest
       11

строка на символ в c#

0 голосов
/ 20 марта 2020

У меня есть класс, в котором я назначаю переменную валюты следующим образом:

примеры форматов валют USD, EUR и c и др. c

public class codes{
  public char currency{get;set;}
}

, поэтому у меня есть другой класс который вызывает коды для присвоения его переменной валюты следующим образом:

public async Task<Codes> ExecuteAsync(hCommand command){
Codes c = new Codes();
//i do some coding to get the currency back then i assign it as follows from a string
 c.currency = Convert.ToChar(currency);
}

, но в этой строке выдается ошибка System.FormatException: 'String must be exactly one character long.', и результат возвращается как "currency": "\u0000"

как можно я понимаю, что это символ (3)

Ответы [ 2 ]

1 голос
/ 20 марта 2020

Я думаю, что если вы хотите хранить что-то вроде валюты, например, "USD", строка является правильным типом, а не символом. Char хранит символ single .

В любом случае, если вы все еще хотите использовать char, для этого конкретного случая следует использовать массив символов:

public class codes{
    public char[] currency { get; set; }
}

А затем используйте вместо него ToCharArray:

c.currency = Convert.ToCharArray();
1 голос
/ 20 марта 2020

Вы можете объявить свой класс как

public class Сodes
{
    public string Сurrency { get; set; }
}

и использовать его следующим образом:

Codes c = new Codes();
c.Сurrency = currency;

String в C# представляет последовательность только для чтения из char элементов, вы не можете присвоить строку, например "USD", одному символу.

Другой вариант - использовать для этого массив char, например,

public class Сodes
{
    public char[] Сurrency { get; set; }
}

и используйте ToCharArray для присвоения значения

Codes c = new Codes();
c.Сurrency = currency.ToCharArray();

Хорошим правилом является использование PascalCase для имен классов и свойств (кстати, вы codes объявление класса не соответствует примеру использования Codes).

Вы также можете обратиться к этому вопросу 3 Di git код валюты в символ валюты , если хотите конвертировать код валюты к символу валюты, например $

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...