[英]string to char in 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": "\ "
我怎樣才能讓它成為一個字符(3)
你可以像這樣聲明你的類
public class Сodes
{
public string Сurrency { get; set; }
}
並按以下方式使用
Codes c = new Codes();
c.Сurrency = currency;
C# 中的String
表示char
元素的只讀序列,您不能將像"USD"
這樣的字符串分配給單個字符。
另一種選擇是為此使用char
數組,例如
public class Сodes
{
public char[] Сurrency { get; set; }
}
並使用ToCharArray
賦值
Codes c = new Codes();
c.Сurrency = currency.ToCharArray();
對類和屬性名稱使用PascalCase是一個很好的規則(順便說一句,您codes
類聲明與使用示例Codes
不匹配)。
您也可以參考這個問題3 Digit currency code to currency symbol ,如果要將貨幣代碼轉換為貨幣符號,如$
我認為如果你想存儲像貨幣這樣的東西,例如“美元”,字符串是正確的類型,而不是字符。 Char 存儲單個字符。
在任何情況下,如果您仍然想使用 char,對於這種特殊情況,您應該使用一個字符數組:
public class codes{
public char[] currency { get; set; }
}
然后使用 ToCharArray 代替:
c.currency = Convert.ToCharArray();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.