如何将一组字符串和属性转换为单个变量?

How can I convert a set of strings and attributes into a single variable?

提问人:Duskkitte 提问时间:11/2/2023 更新时间:11/2/2023 访问量:41

问:

我想通过在 C# 中组合字母和整数来将变量设置为点的坐标。但是,此组合显然被视为字符串,无法隐式转换。 我的原始代码如下所示:

 debugVariable = ((int)IdkRightSensor.X+","+(int)IdkRightSensor.Y));
 debugVariable2 = ((int)IdkLeftSensor.X+","+(int)IdkLeftSensor.Y));

我研究了如何将字符串转换为变量并将其更改为:

 debugVariable = int.Parse((int)IdkRightSensor.X+","+(int)IdkRightSensor.Y);
 debugVariable2 = int.Parse((int)IdkLeftSensor.X+","+(int)IdkLeftSensor.Y);

我试图运行我的程序,但它崩溃了,并说我的代码的字符串格式不正确。确切的错误是:“System.FormatException:'输入字符串的格式不正确。我找不到任何关于如何修复它的信息,所以我把它放在这里。

我希望变量在打印时看起来像这样:3,1

该示例假定传感器的 x 坐标为 3,其 y 坐标为 1。有谁知道该怎么做?

C# 字符串 格式

评论

0赞 NineBerry 11/2/2023
debugVariable的类型是什么?您应该为该变量使用字符串类型,然后您的第一次尝试将起作用。
0赞 Duskkitte 11/2/2023
debugVariable 是一个 Int。如果可能的话,我宁愿将其保留为 int,因为我稍后将在代码中将文本框的内容分配给其值,并且我不确定如果它是一个字符串,这是否有效。
0赞 NineBerry 11/2/2023
一个整数变量只能保存一个整数值(一个整数)。“3,1” 不是整数值,因此不能将其存储在 int 类型的变量中
0赞 NineBerry 11/2/2023
使用字符串类型的变量。然后,如果您在那里有不同的需求,请稍后使用不同的变量。变量应尽可能保持本地,不要重复用于不同的目的
0赞 Duskkitte 11/2/2023
好的,非常感谢。我尝试将debugVariable转换为字符串,它起作用了。

答:

0赞 JonasH 11/2/2023 #1

首先,是一个变量。“变量”只是一个命名值,因此我们可以在源代码中引用它。变量具有类型,如 int 或 string。如果目标是在 UI 中显示它,字符串可能是您要使用的类型,即将 your 更改为 a 并使用第一个示例进行赋值。debugVariableintstring

您可以将多个整数转换为单个值,但您需要一个已知宽度的区域,典型的公式如下:

var i = width * y + x;

但是,如果您正在调试,这并没有真正的帮助。但是,在执行索引图像等操作时,它可能很有用。

我还建议检查跟踪点,这些工作就像打印语句一样,您可以在调试时编写这些语句,而无需重新编译。