C#字符串操作,为什么这不起作用?

时间:2011-01-21 20:42:09

标签: c#

int i = 1;
for (; i <= 10; i++)
{
    string str = "test{0}" , i;
    Console.WriteLine(str);
}

所以这段代码不起作用,我想知道原因,以及产生这个的正确方法是什么?

5 个答案:

答案 0 :(得分:11)

我认为你打算用String.Format调用来包装它。

string str = String.Format("test{0}", i);

答案 1 :(得分:6)

你应该尝试这种语法:

for (int i = 1; i <= 10; i++) {     
    string str = String.Format("test{0}", i);
    Console.WriteLine(str); 
} 

答案 2 :(得分:2)

你定义字符串的方式根本不适合我。我猜你正在寻找的代码是:

int i = 1;
for(; i <= 10; i++)
{
    string str = string.Format("test{0}", i);
    Console.WriteLine(str);
}

但在这种情况下,没有理由创建一个新字符串并为每次迭代调用Format()。您可以创建一个字符串,让Console.WriteLine()处理格式化。

string str = "test{0}";

for(int i = 1; i <= 10; i++)
    Console.WriteLine(str, i);

答案 3 :(得分:1)

我的猜测是你想要这样的东西:

for(int i=1;i<=10;i++)
    Console.WriteLine(String.Format("test{0}",i);

您可以将任意数量的内容放在括号中,用逗号分隔每个输入。

string Month = "Jan";
int day = 21;
string temp = String.Format("Today is:{0} - {1}/{2}",Month,day,2011);

temp获取值“今天是:2011年1月21日”

将来所需的输出会有所帮助。

编辑:拼写

答案 4 :(得分:0)

int i;  
for (; i <= 10; i++)  Console.WriteLine("test{0}", i);