Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 相互减去(-)2个文本标签即可得到结果_C#_.net_Text - Fatal编程技术网

C# 相互减去(-)2个文本标签即可得到结果

C# 相互减去(-)2个文本标签即可得到结果,c#,.net,text,C#,.net,Text,嗯,我试过ToInt和ToString,但我别无选择。 我试着从两个标签文本中减去另一个。(这些包含来自RSS的数字) 我现在所拥有的: lblOldID.Text = nodeChannel["oldid"].InnerText; lblNewID.Text = nodeChannel["newid"].InnerText; 假设oldid包含“500”和newid“530” 但由于某种原因,我不能减去(-)它们。 我想要的是: lblResult

嗯,我试过ToInt和ToString,但我别无选择。 我试着从两个标签文本中减去另一个。(这些包含来自RSS的数字)

我现在所拥有的:

        lblOldID.Text = nodeChannel["oldid"].InnerText;
        lblNewID.Text = nodeChannel["newid"].InnerText;
假设oldid包含“500”和newid“530”

但由于某种原因,我不能减去(-)它们。 我想要的是:

      lblResultID.Text = lblOldID.Text - lblNewID.Text;
示例:结果=530-500


那么这是怎么可能的呢?

如果您希望标签文本按字面意思是
530-500
,请按如下方式连接字符串:

lblResultID.Text = lblOldID.Text + " - " + lblNewID.Text;

如果希望标签文本是减去标签中表示的数字的结果,请先将其转换为整数:

int old = Int32.Parse(lblOldID.Text);
int new = Int32.Parse(lblNewID.Text);
lblResultID.Text = (old - new).ToString();

(如果其中任何一个值都可能无法完全转换为整数,则需要在其中进行一些错误检查)

如果希望标签文本从字面上看是
530-500
,请按如下方式连接字符串:

lblResultID.Text = lblOldID.Text + " - " + lblNewID.Text;

如果希望标签文本是减去标签中表示的数字的结果,请先将其转换为整数:

int old = Int32.Parse(lblOldID.Text);
int new = Int32.Parse(lblNewID.Text);
lblResultID.Text = (old - new).ToString();

(如果其中任何一个值都可能无法完全转换为整数,则需要在其中进行一些错误检查)

可能是因为您确实应该解析它们:

lblResultID.Text = (int.Parse(lblOldID.Text) - int.Parse(lblNewID.Text)).ToString();
或字符串格式:

lblResultID.Text = lblOldID.Text + " - "+ lblNewID.Text;

也许是因为您真的应该解析它们:

lblResultID.Text = (int.Parse(lblOldID.Text) - int.Parse(lblNewID.Text)).ToString();
或字符串格式:

lblResultID.Text = lblOldID.Text + " - "+ lblNewID.Text;

您需要将文本转换为整数

//These are the ints we are going to perform the calculation on
Int32 oldID = 0;
Int32 newID = 0;

//TryParse returns a bool if the string was converted to an int successfully    
bool first = Int32.TryParse(lblOldID.Text, out oldID);
bool second = Int32.TryParse(lblNewID.Text, out newID);

//Check both were converted successfully and perform the calculation
if(first == true && second == true)
{
   lblResultID.Text = (oldID - newID).ToString();
}
else
{
   lblResultID.Text = "Could not convert to integers";
}

TryParse
防止在标签中的数据无法转换为整数时引发异常。相反,它会返回
false
(如果数字解析成功,则返回
true

您需要将文本转换为整数

//These are the ints we are going to perform the calculation on
Int32 oldID = 0;
Int32 newID = 0;

//TryParse returns a bool if the string was converted to an int successfully    
bool first = Int32.TryParse(lblOldID.Text, out oldID);
bool second = Int32.TryParse(lblNewID.Text, out newID);

//Check both were converted successfully and perform the calculation
if(first == true && second == true)
{
   lblResultID.Text = (oldID - newID).ToString();
}
else
{
   lblResultID.Text = "Could not convert to integers";
}

TryParse
防止在标签中的数据无法转换为整数时引发异常。相反,它返回
false
(或
true
,如果数字被成功解析)。

因此,您希望结果字面上是
530-500
?因此,您希望结果字面上是
530-500
?应该是“convert”而不是“cast”+1角色和演员是两个截然不同的概念。抱歉,更正。我最初打算做一个显式转换,但更改了代码,因为我觉得这种方法在本例中更健壮,更实用。Int32.TryParse返回bool。。。我试图编辑,但显然没有被接受。为此我删除了+1。我想我同时也在编辑。为了清楚起见,我明确地将
第一个
第二个
放在了后面,而不是在一个
if
语句中同时使用它们。应该是“convert”而不是“cast”+1角色和演员是两个截然不同的概念。抱歉,更正。我最初打算做一个显式转换,但更改了代码,因为我觉得这种方法在本例中更健壮,更实用。Int32.TryParse返回bool。。。我试图编辑,但显然没有被接受。为此我删除了+1。我想我同时也在编辑。为了清晰起见,我明确地将
第一个
第二个
保留下来,而不是在一个
if
语句中同时使用它们。