- 符号:?: 叫做三元运算符
举例:(x ? y : z) 表示如果表达式x为true,则返回y;如果x为false,则返回z,是省略if{}else{}的简单形式。 - 除了 text文件名字.color = Color.red 这种改变颜色的方法,实际还有一种更灵活的方法,<color=red>,例如:"<color=#5C3317>" + poetry.poem[i] + “”,就可以做到。而同样,size也可以通过类似的代码改变<size=40>。color可以直接=特定的几个颜色,也可以找到对应颜色的序号然后改变。
- 冒泡排序的理解:
冒泡排序需要套两个循环:(以从小到大排列为例)
for(int i = 0; i < 数组.Length -1; i ++)
{
for(int j = 0; j < 数组.Length -1 - i; j ++)
{
if (nums[ j ] > nums[j + 1])
{
int temp = nums[ j ];
nums[ j ] = nums[j + 1];
nums[j + 1] = temp;
}
}
}
先看第二个循环,这个冒泡排序的核心是在第二个循环,这个内部的循环是为了从第一个元素开始两两之间比较交换,这样的好处是,在第一遍就可以把最大的数放到最右边去,第二遍就可以把第二大的数放到右数第二个位置,这样随着每次内部的一次完整循环,下一次需要比较的数就可以少一个,也就是少比较一次。而由于是两两转换位置,比如4个元素,最大的数即使在最左边也只需要三次交换就可以到最右边了,这里用 .Length -1 - i 来实现。
再看第一个循环,要注意到循环的次数 = 数组元素个数-1,因为每一次内部的完整循环,都可以把最大的数放到最右边,以四个数的数组为例,最大的数移到最右边是第一次循环,然后第二大的移到右边第二位是第二次循环,当倒数第二位的数是倒数第二大的时候,我们也就不用去移动左边的第一位了,在交换的过程中,它已经自动落位,那么如果数组有n个元素,我们始终都可以循环n-1次来完成排序。
另外如果想从大到小排序,只需要把核心部分的>号改为<号就好,只要前一个比后一个小,就互换位置。
4.