----------------------
Windows Phone 7手机开发、
.Net培训、期待与您交流! ----------------------
总结一下以前不知道的和容易犯错误的
异常处理
public static bool MyTryParse(string str,out int re)
{
try
{
re= Convert.ToInt32(str);
return true;
}
catch
{
re = 0;
return false;
}
}
自己写的TryParse方法 用到异常处理 先执行 try 中代码 如有异常 跳入catch分支 好像if else
字段和属性
例子
using System;
using System.Collections.Generic;
using System.Text;
namespace 属性
{
class Program
{
private string name; 这是字段 字段命名一般为小写的
public string Name 这是属性 命名和对应的字段应一样 只不过首字母大写 里面提供了 get 和set 两个方法 这样属性有读写 只读 只写 ,对应删除其中的方法即可
{
get { return name; }
set { name = value; }
}
static void Main(string[] args)
{
}
}
}
方法的重载 自己的理解
重载的条件
1.方法名要相同
2.参数列表不同 可以是参数类型的不同 也可以是参数个数不同
3.是不是重载与返回类型没关系
注意这样的不叫重载
public void test(int a,int b)
public void test(int x,int y)
class Program
{
static void Main(string[] args)
{
int[] number ={ 7, 5, 9, 3, 6 };
int max,min;
MaxMin(number, out max, out min);
Console.WriteLine("数组中最大值{0},最小值{1}",max,min);
Console.ReadKey();
}
public static void MaxMin(int[] number, out int max,out int min)
{
max=number[0];
min=number[1];
for (int i = 1; i < number.Length; i++)
{
if (max < number[i])
{
max = number[i];
}
if (min > number[i])
{
min = number[i];
}
}
}
}
方法要有返回值 但是只能有一个返回值 那怎么实现多个返回值呢??以前都没考虑过这个问题,今天长见识了。可以用out实现,out能将方法里变量的值给送出来 注意要在参数列表里加上 out 这个关键字 在调用方法传参时 也要加上out 。另外在方法里面必须对out参数赋值 否则会出错 可以对Main里面的将要作为参数的变量赋初值 但是没有意义。
再说ref 类似于c的指针 和c++ 的引用 可以理解为传的是地址 用老师的例子可以理解为快捷方式(例子举得太好了,很生动)。ref比out要厉害一些 可以传进值 也可传出值 而out只能传出
---------------------- Windows Phone 7手机开发、 .Net培训、期待与您交流! ----------------------
总结一下以前不知道的和容易犯错误的
异常处理
public static bool MyTryParse(string str,out int re)
{
try
{
re= Convert.ToInt32(str);
return true;
}
catch
{
re = 0;
return false;
}
}
自己写的TryParse方法 用到异常处理 先执行 try 中代码 如有异常 跳入catch分支 好像if else
字段和属性
例子
using System;
using System.Collections.Generic;
using System.Text;
namespace 属性
{
class Program
{
private string name; 这是字段 字段命名一般为小写的
public string Name 这是属性 命名和对应的字段应一样 只不过首字母大写 里面提供了 get 和set 两个方法 这样属性有读写 只读 只写 ,对应删除其中的方法即可
{
get { return name; }
set { name = value; }
}
static void Main(string[] args)
{
}
}
}
方法的重载 自己的理解
重载的条件
1.方法名要相同
2.参数列表不同 可以是参数类型的不同 也可以是参数个数不同
3.是不是重载与返回类型没关系
注意这样的不叫重载
public void test(int a,int b)
public void test(int x,int y)
out and ref
class Program
{
static void Main(string[] args)
{
int[] number ={ 7, 5, 9, 3, 6 };
int max,min;
MaxMin(number, out max, out min);
Console.WriteLine("数组中最大值{0},最小值{1}",max,min);
Console.ReadKey();
}
public static void MaxMin(int[] number, out int max,out int min)
{
max=number[0];
min=number[1];
for (int i = 1; i < number.Length; i++)
{
if (max < number[i])
{
max = number[i];
}
if (min > number[i])
{
min = number[i];
}
}
}
}
方法要有返回值 但是只能有一个返回值 那怎么实现多个返回值呢??以前都没考虑过这个问题,今天长见识了。可以用out实现,out能将方法里变量的值给送出来 注意要在参数列表里加上 out 这个关键字 在调用方法传参时 也要加上out 。另外在方法里面必须对out参数赋值 否则会出错 可以对Main里面的将要作为参数的变量赋初值 但是没有意义。
再说ref 类似于c的指针 和c++ 的引用 可以理解为传的是地址 用老师的例子可以理解为快捷方式(例子举得太好了,很生动)。ref比out要厉害一些 可以传进值 也可传出值 而out只能传出
---------------------- Windows Phone 7手机开发、 .Net培训、期待与您交流! ----------------------