c#基础

 -.
1.数据类型存储
 *1.堆栈:存储固定长度的数据,如int(占4字节).   值类型
 *2.堆:存储可变长度的数据,如字符串.           引用类型
结构是值类型,类是引用类型
2.多维数组
 string[,] Name={{"Lennon","John"},{"MAC","Paul"}};
3.
internal  变量只能在当前程序中被访问
protected internal 变量只能在当前程序中被访问,或者在派生当前类型的其他类型中被访问
4. Static
 必须通过类直接访问该变量,而不能通过实例访问
5.Checked 与Unchecked
  执行溢出检查
  
   byte b= 255;
   checked{
    b++;
    }
6. is  检查对象是否与特定的类型兼容.
 int i =10;
if(i is object)
{
}

7.类方法
  virtual 方法可以被其派生的类重写
  New  方法隐藏了同名的继承方法
  Abstract 这个虚拟方法定义了方法名,但没有提供执行方式.不能实例化,只能派生.
  override 方法重写继承的方法或抽象的方法
  Sealed  方法重写继承的虚拟方法,但不能被派生于这个类的其他类重写,必须和重写方法一起使用。
8.方法输入参数
*1.
using System;
class ParentClass
{
 static void SomeFunction(int[] ints,int i)
 {
  ints[0]=1000;
  i=0;

 }
 public static void Main()
 {
  int i = 200;
  int[] ints={1,2,3,4};
  SomeFunction(ints,i);
  Console.WriteLine("i="+i);
  Console.WriteLine("ints[0]="+ints[0]);
 }
}
结果 200 ,1000  数组的值将改变.
*2.
using System;
class ParentClass
{
 static void SomeFunction(int[] ints,ref int i)
 {
  ints[0]=1000;
  i=0;

 }
 public static void Main()
 {
  int i = 200;
  int[] ints={1,2,3,4};
  SomeFunction(ints,ref i);
  Console.WriteLine("i="+i);
  Console.WriteLine("ints[0]="+ints[0]);
 }
}
 结果 0,1000 两方面值都将改变。 Ref用法
9. Out用法
using System;
class ParentClass
{
   static void SomeFunction(out int i)
   {
    i= 200;
   }

 public static void Main()
 {
   int i ;
   SomeFunction(out i);
   Console.WriteLine(i);

 }
}

 ----------------------------------
  二: 类
1.实例和静态方法
 如果方法不试图访问实例数据或其他实例方法,可以声明为static.不能在声明为static的方法中访问实例字段.

 public class TestClass
{
 private static unit minpasswordlength = 6;
 public static uint getminpasswordlength()
{
 return mimpasswordlength;
}
2.命名空间别名
 using alias = NameSpaceName;
3.属性
*1.private static uint MinPasswordLength
{
get
{
return minPasswordLength;
}
set
{
if(value<=10)
minPasswordLength = value;
else
Console.WriteLine("Error");
}
}

 

*2.
 public bool ChangePassword(string oldPassword,string newPassword)
{
if(oldPassword==Password&&newPassword.Length>=minPasswordLength)
{
Password =newPassword;
return true;
}
else
{
return false;
}
}

*3.
public decimal SubTotal{
   get{return _price*_quantity;}
}

4.Const
   值不能改变,并且必须在定义的时候设置。
   public const uint MaxPasswordLength  = 6;
   隐式静态,对它必须用静态成员的语法,也就是类名.
   Authenticator Julian   = new Authenticator();
   uint Max1 = Authenticator.maxPasswordLength;
   uint Max2 = Julian.maxPasswordLength;
 

 

 

posted on 2010-01-26 21:11  alon  阅读(190)  评论(0编辑  收藏  举报

导航