簡體   English   中英

c#從字符串轉換為特殊類型-“存在顯式轉換”

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM