改變返回類型的屬性:
public string UserName { get; set; }
public string[] UserNameSeparated
{
get { Username.Split('-'); }
set
{
UserName = String.Join("-", value);
}
}
用法:
foo.UserName = "10-1685";
string[] names = foo.UserNameSeparated;
// names[0] = "10";
// names[1] = "1685";
foo.UserNameSeparated = new string[] { "15", "42" };
// foo.UserName = "15-42"
但考慮到有名字的兩個部分的性能。你將能夠在任何時間計算的全名,你會處理不錯命名屬性,而不是元組或數組索引(支持地獄):
public string FirstName { get; set; }
public string LastName { get; set; }
public string UserName
{
get { return String.Format("{0}-{1}", FirstName, LastName); }
set
{
// check if value format valid
var names = value.Split('-');
FirstName = names[0];
LastName = names[1];
}
}
只是比較(你可以給更多的描述性的名稱,這說明您的數據越好):
foo.FirstName
foo.LastName
有了:
foo.UserNameSeparated.Item1
foo.UserNameSeparated.Item2
爲什麼不創建一個具有2個屬性的類或結構來表示您的數據? –
因爲我從數據庫獲取數據和值存儲爲X-Y和我已經將它們分配給類。 – Sin5k4