我有两个整数值,例如25
和3
。现在我想将它们添加到一个整数中,但条件是这两个值都应该用逗号(,)分隔。它可能怎么做。它给我错误,因为逗号不能在整数中被包含..
我试过这样的..
int inoutSpecifierPosition = (startIndex + "," + difference);
但它给了我错误..请帮帮我......
任何建议都将受到高度赞赏......
答案 0 :(得分:5)
不可能有像25,3
这样的整数。它可以是string
而不是;
string inoutSpecifierPosition = startIndex + "," + difference;
没有整数可以包含任何逗号或任何小数点分隔符或千位分隔符。它们只是 数字。只有他们的字符串表示可以有。这就是为什么你的
现在我想将这些添加到一个整数中,但条件是这两个值都应该用逗号分隔
声明毫无意义。
您的代码会出错,因为string + int
会返回string
,而不是int
。
.NET Framework中的字符串连接中有3个+
运算符重载。
来自C#Spec $7.8.4 Addition operator
string operator + (string x, string y);
string operator + (string x, object y);
string operator + (object x, string y);
binary +运算符的这些重载执行字符串连接。 如果字符串连接的操作数为null,则为空字符串 取代。 否则,任何非字符串参数都将转换为其 通过调用虚拟ToString方法表示字符串 继承自类型对象。
如果要将整数格式化为字符串,可以使用string.Format
之类的;
string s = string.Format("{0},{1}", startIndex, difference); // 25,3
如果已经将25,3
作为字符串,您希望获得这些整数,则可以使用String.Split
和Int32.Parse
等方法;
string s = "25,3";
int startIndex = Int32.Parse(s.Split(',')[0]);
int difference = Int32.Parse(s.Split(',')[1]);
答案 1 :(得分:1)
不,你不能。 ','是一个字符串。你不能将这些组合在一个int中,但你可以把它放在字符串
中string inoutSpecifierPosition = (startIndex + "," + difference);
以后你可以再把它拆分成int
var integers=inoutSpecifierPosition.Split(',');
int a=int.Parse(integers[0]);
int b = int.Parse(integers[1]);
答案 2 :(得分:0)
如果你添加一个逗号,它将不再是一个整数,它将成为一个字符串,或双倍/小数,具体取决于你的文化。
让我们假设它是一个字符串。你会想要
var newValue = string.format("{0},{1}", startIndex, difference);
答案 3 :(得分:0)
首先,整数没有分数。这是一个整数,所以你不能在逗号后面设置任何东西。
其次,你需要像decimal
:
decimal inoutSpecifierPosition = startIndex + difference / 100; // divide by 100 for example if `difference` can't exceed 100.
或string
获取数据:
string inoutSpecifierPosition = string.Format("{0},{1}", startIndex, difference);