如果我有一個像"20"
這樣的值的字符串,我該如何將它轉換爲一個整數,以便我可以將它添加到另一個數字?如何將字符串轉換爲數字,以便我可以在C#中添加另一個數字?
下面是一些代碼,可能說明我希望它是:
string myString = "20";
myString = myString + 2;
現在字符串myString
應該"22"
。
如果我有一個像"20"
這樣的值的字符串,我該如何將它轉換爲一個整數,以便我可以將它添加到另一個數字?如何將字符串轉換爲數字,以便我可以在C#中添加另一個數字?
下面是一些代碼,可能說明我希望它是:
string myString = "20";
myString = myString + 2;
現在字符串myString
應該"22"
。
string myString = "20";
myString = Convert.ToString(Convert.ToInt32(myString) + 2);
You'l需要解析字符串,做算術題:
string myString = "20";
myString = (int.Parse(myString) + 2).ToString();
您需要將您的字符串轉換爲int
,然後做加法。稍後,您可以將結果int
轉換爲字符串。
對於將字符串轉換爲整數,您可以使用Convert.ToInt32
,int.Parse
或更安全的選項int.TryParse
,如果字符串無效,則不會引發異常。
int number1;
int number2 = 2;
if(!int.TryParse(myString, out number1)
{
//invalid string
}
string result = (number1 + number2).ToString();
這是怎麼可以做到
string myString = "20";
int val = Convert.ToInt32(myString);
myString = (val + 2).ToString;
另一種有趣的方式來做到這一點是:
using System.Data;
//...
string myString = "20";
string addition = "+ 2";
DataTable dt = new DataTable();
myString = dt.Compute(myString + addition, string.Empty).ToString();
這裏是更有趣:
using System;
using System.CodeDom.Compiler;
//...
string myString = "20";
CodeDomProvider codeProvider = CodeDomProvider.CreateProvider("CSharp");
ICodeCompiler icc = codeProvider.CreateCompiler();
System.CodeDom.Compiler.CompilerParameters parameters = new CompilerParameters();
parameters.GenerateExecutable = false;
parameters.GenerateInMemory = true;
CompilerResults results = icc.CompileAssemblyFromSource(
parameters,
string.Format(@"
namespace N{{
public static class C{{
public static string M(){{
return ({0} + {1}).ToString();
}}}}}}",
myString,
"2"));
myString = results
.CompiledAssembly
.GetType("N.C")
.GetMethod("M")
.Invoke(null, null)
.ToString();
當然這些都不推薦,除非沒有呃方式。發佈只是作爲一個好奇心:-)
不知道你的實際需要,但對於示例代碼,你可能會更好:
int myInt = 20;
myInt = myInt + 2;
//To do something:
something.Text = myInt.ToString();
string myString = "20";
int num = Convert.ToInt32(myString) + 2;
myString = num.toString();
非常感謝您! ;) – Kvist
很高興我能幫到你。正如您從其他評論/答案中可以看到的那樣,這可以通過多種方式完成,但主要的一點是,在進行算術加法之前,您需要確保兩個值都是整數(或其他數字數據類型)。如果你不這樣做,你會用加號運算符進行字符串連接。 – HaukurHaf