将包含特殊字符的字符串变量分配给string属性会丢失特殊字符

时间:2018-08-23 15:48:36

标签: c# string symbols

我的声明如下:

string city = HandleTypeString(address.City, tokenParams);
address.City =  city; //"_rv!9yfEEZy";

handleTypeString返回带有随机特殊字符的字符串(_rv!9yfEEZy)。当我将值保存在city变量中时,它包含handleTypeString返回的所有内容,但是当我将其分配给address.city时,它将变成rv9yfEEZy丢失特殊字符。我需要在属性中存储确切的值。如何保留分配时的原始值?

编辑: 我发现属性设置器正在删除那些特殊字符的问题。 公共字符串City {get {return this._City; }设置{this._City = value.RemoveDiacritics()。RemoveSpecialCharacters(); }

我的代码随机失败,因为每次加密的值都不包含特殊字符。谢谢大家建议检查属性定义。

1 个答案:

答案 0 :(得分:0)

address.City会修改设置器或获取器中提供的值。例如:

private string city;
public string City
{
    get { return city; }
    set { city = RemoveSpecialCharacters(value); }
}

private string city;
public string City
{
    get { return RemoveSpecialCharacters(city); }
    set { city = value; }
}