---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
从29号开始近3天以来的学习笔记
7月29号
(1)for循环
格式 for(初始条件;判断条件;用来改变条件){执行语句; } 三个语句执行顺序 第一个 判断一下 执行{}里边的语句 在回过来执行i++
for(;;)循环 三部分都可以省略
(2)类型 转换
格式 变量=(类型)变量
取类型的最大值 类型.MaxValue 取最小值 类型.MinValue
隐式转换:可以直接转换一定能满足的
显示转换 不一定能一定满足的需要程序员来强制转换 i=(类型)i1;程序有可能错误但不报错 例如 int i=2000; byteb=3; b=(byte)i; 结果为208 但不报错
string类型不可以转换成int类型 只能用 Convert.ToInt32();
存储空间大的类型不能直接转换存储成空间小得类型 否则出错
(3)枚举类型
格式 enum 名字{类别,类别1,...} 声明时 为 名字.类别 使程序用起来更方便, 暂时还理解不透啊 注意{}里边是, 不是;
(4)数组
格式 类型[] 变量名={内容1,内容2,内容3,....};
变量名.length 获取数组长度 数组从0开始 变量名{0}访问数组第一个数
length 与最后一个数的序号 相差一
7 月30号
(1) 数组1
C#中数组的长度是确定的,不像其他语言
静态声明数组 int[] value 动态声明数组 int[] value=new int[5]; string[] name={23,345,5,2}; string[]value=new string[name.length]
数组交换顺序
int [] value = { 1,2,3,4,5,6,7,8,9,10};
int i = 0;
for (int j = 0; j < value.Length / 2;j++ )
{
i = value[value.Length - j - 1];
value[value.Length-j-1]=value[j];
value[j] = i;
}
Console.WriteLine("反过来的顺序为");
for (int j = 0; j < value.Length; j++)
{
Console.WriteLine(value[j]);
}
Console.ReadKey();
感想
做程序时尽量多想少出现bug 例如 数组时的注意数组的长度用法 数组序号从0开始 所以长多是最后一个数序号+1
{ } 的 一个作用 规定声明变量常量 的作用域
(2)C#中foreach 独有的语法
string[] names={"hahha","dd","dd"};
foreach(string names in name)
7月31号
(1)函数
C#中 声明函数后边必须有() 如 staic 类型 函数名(){ } 调用 类型 变量名= 函数名();
返回的数据类型要与声明函数的类型一样 有的有返回值有的没有返回值
函数的参数 实参 形参
(2)变量名字小写开头后边每个单词开头大写 如int -MaxNum ; 函数类的名字大写开头 static void Sum(){}
(3) 利用函数字符串分割 自己的方法
static void Main(string[] args)
{
string[] values = { "Tom", "Join", "Lily", "Lucy" };
Join(values,"|");
Console.ReadKey();
}
static void Join(string [] values,string qieGeXian)
{
for (int i = 0; i < values.Length-1;i++ )
{
Console.Write(values[i]);
if(i<values.Length-2)
Console.Write(qieGeXian);
}
}
第二种方法 static void Main(string[] args)
{
string[] value = {"Tom","Nike","Lily","Lucy","Jack" };
Console.WriteLine(Jion(value,"|"));
Console.ReadKey();
}
static string Jion(string[] valus, string geXian)
{
string all="";
for (int i = 0; i < valus.Length-1;i++ )
{
all = all + valus[i]+geXian;
}
if (valus.Length > 0)
{
return all = all + valus[valus.Length - 1];
}
else
return "cuowu";
}
(4)C#中可变参数方法 static void Kebian(parms string[]valus) 可变参数和非可变参数可以混用 可变参数必须在所有参数后边
(5)函数重载
函数要一致 参数必须不同 函数能否重载取决于参数的类型 如其他无关
(6)字符串
char 只能是一个字符
C#中字符串中有几个字符长度就是几 C语言中不一样还要最后加一个“1 \0”
字符串 只可以读 但不能写 string可以看成字符数组但不是字符数组 要想修改(原来的不变)只能利用 string si="hello" s1.ToCharArray()//变成字符数组类型 (相当于复制了一份)
string s="hello" s1="yello" 正确 因为s指向hello 当s1时又指向了 yello 相当于c#中的指针
(7)string 常用函数 ()
ToLower 转换成小写 ToUpper() Trim()去掉两边的空白(空格或回车等空白) 中间的不管,同样是不改变原来需要一个变量来接受返回值
bool a="abc"Equals("ABC",StringComparation.OrdinalIgnoraCase) 表示忽略大小写比较 Ignore 忽略 Case大小写
字符串分割 s1.split('按照什么来分隔') 必须要单引号‘’ 因为split只接受char类型的 如果要接受字符串参数是必为s1.split(new String[]{",",StringSplitOptions.RemoveEmptyEntries}); 不接受可变参数
split 去掉空白 s1.split(new char[]{',',StringSplitOptions.RemoveEmptyEntries});
字符串 替换s=s.Replace("被替换","替换");
SubString(数字) 从字符串中取子字符串 从字符串中第(数字)开始 Substring(数字,数字) 第二个参数是截取多长而不是结束位置
bool s.contains(string values) 判断是否含有子字符串values
bool s.StarWith(string values) 判断是否以字符串 values开头
bool s.EndWith(string values) 判断是否已value结尾
int num= s.IndexOf(string values) 取 values在字符s中首次出现的位置
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------详细请查看:http://net.itheima.com/