class Program
{
static void Main(string[] args)
{
int a = 10, b = 20;
Console.WriteLine("a={1},b={0}", a, b);
Console.ReadLine();
}
}class Program
{
static void Main(string[] args)
{
int b = 10, a = 20;
Console.WriteLine("a={1},b={0}", a, b);
Console.ReadLine();
}
}
第一段代码 按我的理解 a={1},就是按第二个传值,b={0}就按第一个传值及a=b=20,b=a=10;
但是我把 a和b在定义的时候交换位置, a=20,b=10;这就不能按我的去理解了,在WriteLine("{}")中代表的究竟是怎样的顺序呀?不解...
{
static void Main(string[] args)
{
int a = 10, b = 20;
Console.WriteLine("a={1},b={0}", a, b);
Console.ReadLine();
}
}class Program
{
static void Main(string[] args)
{
int b = 10, a = 20;
Console.WriteLine("a={1},b={0}", a, b);
Console.ReadLine();
}
}
第一段代码 按我的理解 a={1},就是按第二个传值,b={0}就按第一个传值及a=b=20,b=a=10;
但是我把 a和b在定义的时候交换位置, a=20,b=10;这就不能按我的去理解了,在WriteLine("{}")中代表的究竟是怎样的顺序呀?不解...
第二段代码 a=10,b=20
这句话其实可以转换成这样
Console.WriteLine("a="+b+","+"b="+a);
红色的a 和 b 是变量. 黑色的a 和 b 其实是字符串
那a={1},b={0},a的索引值在后面,a应该=20,b=10呀
-------------------------------------------
你想的和你那里的都是这个结果 还在想什么呢 (: (:
static void Main(string[] args)
{
int i = 10,j = 20;
Console.WriteLine("交换前a={1},b={0}", i, j);
i = i ^ j;
j = j ^ i;
i = i ^ j;
Console.WriteLine("交换后a={1},b={0}", i, j);
Console.ReadLine();
}
结果:
交换前a=20,b=10
交换后a=10,b=20
这个叫变量,可以的话你可以用c、d来代替而你 WriteLine("这里面是字符也就是打什么输出什么,都不改的");而{0},{1}相对应的是后面参数的顺序也就是
WriteLine("{0}是排在后面的第一个参数,不是你申明时候的顺序,申明的参数的同级的,没有谁优先",a,b);
1、可以确定 string.Format 中的 {0},{1} 是与后面的 参数列表顺序一致的,而不是与参数列表中声明顺序;
2、楼主的疑惑点,关键是 字符串中的 “a={1},b={0}” 吧自己搞晕了,以为输出的 a=10 就一定是声明变量a 的内存值。输出的字符串中 a=10 不能代表变量a的值就是10,此a非彼a