增量计数并将所有值保存在一个字符串中
Incremental counting and saving all values in one string
我无法想出实现此目标的合乎逻辑的方法。我有一个方法发送带有 for 循环的 Web 请求,该循环从 1 计数到 x,请求计数直到找到特定响应,然后将 URL + 数字发送到另一个方法。
在此之后,说我们得到了数字 5,我需要创建一个显示为“1,2,3,4,5”的字符串,但似乎无法找到创建整个字符串的方法,所有我try 只是替换字符串,只保留最后一个数字。
string unionMod = string.Empty;
for (int i = 1; i <= count; i++)
{
unionMod =+ count + ",";
}
我以为我可以简单地将每个值添加到字符串的末尾,但输出只是“5”,它是最后一个数字。我环顾四周,但我似乎什至想不出为了得到答案我会搜索什么,我有一个硬编码的解决方案,但理想情况下,我不希望每个可能的值都有 30 多个字符串并在需要时创建它。
有什么指点吗?
P.S:感谢任何编码示例,但我可能只是忘记了一些明显的东西,所以非常感谢您提供的任何指导,我应该睡觉了,但我正在通宵编码研磨。
谢谢!
首先你的问题是+=
。您应该避免连接字符串,因为它会分配一个新字符串。相反,您应该使用 StringBuilder。
你的例子:https://dotnetfiddle.net/Widget/qQIqWx
我的例子:https://dotnetfiddle.net/Widget/sx7cxq
public static void Main()
{
var counter = 5;
var sb = new StringBuilder();
for(var i = 1; i <= counter; ++i) {
sb.Append(i);
if (i != counter) {
sb.Append(",");
}
}
Console.WriteLine(sb);
}
如前所述,您应该使用 +=
而不是 =+
。后者表示"take count and append a comma to it",这是您遇到的错误结果。
您也可以像这样简化代码:
int count = 10;
string unionMod = String.Join(",", Enumerable.Range(1, count));
Enumerable.Range
在其两个参数之间生成一个整数序列,然后 String.Join
将它们与给定的分隔符连接起来。
我无法想出实现此目标的合乎逻辑的方法。我有一个方法发送带有 for 循环的 Web 请求,该循环从 1 计数到 x,请求计数直到找到特定响应,然后将 URL + 数字发送到另一个方法。
在此之后,说我们得到了数字 5,我需要创建一个显示为“1,2,3,4,5”的字符串,但似乎无法找到创建整个字符串的方法,所有我try 只是替换字符串,只保留最后一个数字。
string unionMod = string.Empty;
for (int i = 1; i <= count; i++)
{
unionMod =+ count + ",";
}
我以为我可以简单地将每个值添加到字符串的末尾,但输出只是“5”,它是最后一个数字。我环顾四周,但我似乎什至想不出为了得到答案我会搜索什么,我有一个硬编码的解决方案,但理想情况下,我不希望每个可能的值都有 30 多个字符串并在需要时创建它。
有什么指点吗?
P.S:感谢任何编码示例,但我可能只是忘记了一些明显的东西,所以非常感谢您提供的任何指导,我应该睡觉了,但我正在通宵编码研磨。
谢谢!
首先你的问题是+=
。您应该避免连接字符串,因为它会分配一个新字符串。相反,您应该使用 StringBuilder。
你的例子:https://dotnetfiddle.net/Widget/qQIqWx
我的例子:https://dotnetfiddle.net/Widget/sx7cxq
public static void Main()
{
var counter = 5;
var sb = new StringBuilder();
for(var i = 1; i <= counter; ++i) {
sb.Append(i);
if (i != counter) {
sb.Append(",");
}
}
Console.WriteLine(sb);
}
如前所述,您应该使用 +=
而不是 =+
。后者表示"take count and append a comma to it",这是您遇到的错误结果。
您也可以像这样简化代码:
int count = 10;
string unionMod = String.Join(",", Enumerable.Range(1, count));
Enumerable.Range
在其两个参数之间生成一个整数序列,然后 String.Join
将它们与给定的分隔符连接起来。