implicit症結字做自界說類型隱式轉換的辦法。本站提示廣大學習愛好者:(implicit症結字做自界說類型隱式轉換的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是implicit症結字做自界說類型隱式轉換的辦法正文
隱式轉換可以經由過程清除不用要的類型轉換來進步源代碼的可讀性。然則,由於隱式轉換不須要法式員將一品種型顯式強迫轉換
為另外一品種型,所以應用隱式轉換時必需非分特別當心,以避免湧現不測成果。普通情形下,隱式轉換運算符應該從不激發異常而且
從不喪失信息,以即可以在法式員不知曉的情形下平安應用它們。
在C#中,implicit症結字可以用來做自界說類型隱式轉換。上面給個例子來講明。
界說一個Point類,表現一個點:
public class Point
{
public double X { get; set; }
public double Y { get; set; }
}
再在Point類中界說一個靜態辦法,用於由字符串隱式轉換為Point類型:
public class Point { public double X { get; set; } public double Y { get; set; } public static implicit operator Point(string constValue) { var result = new Point(); try { var arPoint = constValue.Split(new[] {","}, StringSplitOptions.RemoveEmptyEntries); result.X = Convert.ToDouble(arPoint[0]); result.Y = Convert.ToDouble(arPoint[1]); } catch { result.X = 0; result.Y = 0; } return result; } }
應用的進程異常簡略,就跟我們日常平凡的隱式轉換一樣:
Point p = "3,4.5";
Console.WriteLine("X:{0}, Y:{1}", p.X, p.Y);
留意,盡可能隱式轉換進程中不會失足,或許能處置異常情形。不然請應用explicit變成強迫轉換。
以上就是implicit症結字做自界說類型隱式轉換的辦法,願望對年夜家有所贊助。