[英]c# Converting from string to special type - “an explicit conversion exists”
Outputs.RunParams.RunAlgorithm = Convert.ChangeType(AlgString,typeof(RunAlgorithmConstants));
我正在嘗試將程序的運行參數設置為特定值,但是AlgString是字符串,我需要將其設置為RunAlgorithmConstants類型。 AlgString是字符串是在先前的腳本中直接從RunAlgorithmConstants類型轉換為字符串,將其保存到文本文件,從該文本文件讀取並將文本設置為AlgString的結果。
當我運行此代碼時,出現以下錯誤:
無法將類型'object'隱式轉換為'RunAlgorithmConstants'。 存在顯式轉換(您是否缺少演員表?)
命名空間很好。 我可以寫
if (AlgString.Equals("Example1"))
{
Outputs.RunParams.RunAlgorithm = RunAlgorithmConstants.Example1
}
對於RunAlgorithmConstants可能的每個可能值,但我想知道是否有更簡單的方法。
編輯:
int LineNumber = Inputs.LineNumber;
var lines = File.ReadAllLines(Inputs.LoadLocation);
string line = lines[LineNumber];
{char[] delimiterChars = {','};
string[] words = line.Split(delimiterChars);
words[30] = AlgString
Enum.Parse是您在尋找什么:
Outputs.RunParams.RunAlgorithm = (RunAlgorithmConstants) Enum.Parse(typeof(RunAlgorithmConstants), AlgString);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.