知识大全 C#学习笔记(一)

Posted 索引

篇首语:任何你的不足,在你成功的那刻,都会被人说为特色。所以,坚持做你自己。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 C#学习笔记(一)相关的知识,希望对你有一定的参考价值。

C#学习笔记(一)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  finalize方法:终结器

  实现了终接器会大大的降低程序的性能

  释放模式:【非托管资源释放】

  手动释放dispose()方法或者close()方法 True非托管资源释放或者是托管资源释放【我们的类包含了其他 类 这个时候我么就可以在这里对其进行释放 而一般情况下 托管资源是被垃圾回收站回收的 】 阻止finalize的调用

  自动释放(finalize()方法 false非托管资源释放)

  public class myresource:IDisposable

  

  private bool disposed=false;

  public void dispose()

  

  

  public void close()

  

  

  ~myresource()

  

  

  private void dispose(bool disposing)

  

  判断句//

  

  

  类的修饰符:

  访问控制修饰符;[包括了:default;public;private;internal;protected;protected internal ]

  Class mod

  

  void defaultMethod();

  

  console writeline( );

  

  

  //对于方法的调用是先实例化 然后再进行调用:

  Mod mod=new Mod();//实例化

  mod defaultMethod();//调用过程

  两个类要能够相互可见的话可以将这两个 类放在同一个命名空间下面

  类专用修饰符:

  sealed:不能被继承的类;

  partial:能声明在不同的文件中的类

  类型的转换:

  隐式转换:

  显式转换:

  代码:

  class conversions

  

  static void main()

  

  int a= ;//system int

  long b;//system int

  b=a;//隐式转换

  console writeline(a);

  

  

  可以先对于上面设置的两个变量进行初始化 然后再进行输出操作

  显式转换就是这样子的:a=(int)b;

  checked和unchecked操作符和语句:

  在显式转换前面加入checked操作服

  在程序中有一句话:

  messagebox show( fashengyichu )能够弹出一个对相框

  这里还有一种感觉就是:

  b=b+ ;

  b+= ;

  这个时候最开始的初始化b为byte类型 所以这两句话是有区别的 上面第一句话在操作的时候是很容易出错的 修改的方式是:在右边的表达式上加入:

  b=(byte)(b+ );

  这个时候跟下面那句话就保持一致了

  而下面这句话 因为在右边的是byte类型的常量 所以就十分直接的隐式转换成了byte类型了

  引用类型的转换:

  CLR允许强制的转化

  Fruit f=new Apple();//直接说明了子类可以被强制转换成为自己的父类

  而要强调的是父类不能转换成任何一个子类

  要想确切的知道一个对象的类型可以调用gettype()方法

  type t=f gettype();//*********

  Apple a=(Apple)f;//类型转换的方式

  也可以在输出的语句中对于参数中的对象进行转换

  用is操作符:

  console writeline(f is fruit);

  console writeline(f is apple);

  console writeline(a is fruit);

  console writeline(a is apple);

  运行的结果是:

  True;

  false;

  true;

  true;

  这里我们知道了在使用is操作符的时候只会打印输出bool值 也就是true和false

  as的意义:比方说:apple a=f as apple;//这里说明的是如果f兼容与apple 那么a的返回值就是true 反之就是false 这样下面的判断语句就会用判断表达式:a!=NULL

  foreach循环 ??????

  controls属性表示的是返回值是一个集合

  foreach(control c in ntrols)

  

  ems add(c name);

  control c =c as button;

  if(c !=null)

  

  c text= kkkkkkkkkkk ;

  

  //强制类型转换的一个简单的例子

  属性:

  class user

  

  private string m_name;

  private string m_sex;

  //

  public void setname(string values)

  name=values;

  public string getname()

  

  return name;

  

  public void setsex(string values)

  

  if (values== ||values== )

  

  sex=values;

  

  else

  console writeline( 性别只能为 男 或 女 );

  

  

  public string getsex()

  

  return sex;

  

  public name

  

  get

  return name;

  

  set

  name=values;

  

  public sex

  

  getreturn sex

  set

  [if判断语句]

  

  

  

  //

  

  class property

  

  static void main()

  

  user zs=new user();

  zs name=( 张三 );

  zs sex=( 男 );

  console writeline( 姓名: +zs getname+ 性别: +zs getsex)

  zs name= 张三 ;

  zs sex= 男 ;

  console writeline( 姓名: +zs name+ 性别: +zs sex)

  

  属性的调用跟类的字段的调用是一模一样的

  static属性:只能访问静态的

  弹出对话框的上面就是Using system windows forms;

  年龄属性应该根据生日生成一个动态的字段

  private static int m_logincount;

  public user()

  m_logincount++;

  public static int logincount

  get

  

  return m_logincount;

  

  //只读属性

  索引器:

  类似于属性 索引器被称为 有参属性

  class arrclass

  

  private readonly string name;

  public arrclass(string name)

  

  this name=name;

  

  public string name

  

  get(return name;)

  

  

  class test

  

  static void main()

  

  arrclass[] a=new arrclass[ ];

  a[ ]=new arrclass( );

  a[ ]=new arrclass( );

  a[ ]=new arrclass( );

  console writeline( a[ ]= +a[ ] name);

  console writeline( a[ ]= +a[ ] name);

  console writeline( a[ ]= +a[ ] name);

  

  

  要定义一个索引器就必须要this 还要加上中括号

  索引器只需要申明一个实例 而类需要声明多个实例

  哈希表:【容器】

  key通常可用来快速查找

  给hashtable里面加值是通过add来进行操作的

  代码:

  Class indexclass//带索引器的类

  

  private hashtable name=new hashtable();

  public string this[int index]

  

  getreturn name[index] tostring();

  setname add(index value);

  

  

  class test

  

  static void  main()

  

  //索引器的使用

  indexclass b=new indexclass();

  b[ ]= zghan ;

  b[ ]= kkkkk ;

  b[ ]= ksldjflksdj ;

  console writeline( jjjj +b[ ]);

  *******//此处略去三个字!

  

  

  索引器和数组的比较:

  类数组的 存放 :

  索引器有get访问器和set访问器 没有存放变量的地方

  索引器允许重载

  Int[] a=new int[ ]

  a[ ]= ;

  a[ ]= ;

  a[ ]= ;//数组的存放

  class arrclass

  

  

  arrclass[]a=new arrclass[ ];

  a[ ]=new arrclass();

  a[ ]=new arrclass();

  a[ ]=new arrclass();

  //类数组的 存放

  this的关键作用:索引器只能使用this

  public int this[string aname]

  

  get

  

  set

  

  

  索引器不能被声明为静态的

  代码实例:

  Using system;

  using systemcollections;

  //姓名 课程id 成绩

  class coursescore

  

  private string name;

  private int courseid;

  private int score;

  public coursescore(string name int courseid int score)

  

  this name=name;

  useid=couseid;

  this score=score;

  

  public string name

  

  get

  set

  

  

  class coursescoreindexer

  

  private arraylist arrcoursescore;

  public couresescoreindexer()

  

  arrcoursescore=new arraylist();

  

  public int this[string name int courseid]

  

  get

  

  foreach(coursescore cs in arrcoursescore)

  

  if (cs name==name$$urseid==courseid)

  

  return cs score;

  

  

  return ;

  

  set

  

  arrcoursescore add(new coursescore(name courseid value))

  

  

  public arraylist this[string name]

  

  get

  

  

  class Test

  

  static void main()

  

  coursescoreindexer csi=new coursescoreindexer();

  csi[ ]= ;

  console writeline(csi[ ]);

  console wroteline( chengjiwei: )

  

  

  现在将的是C#程序语言的规范:

  bitarray类;

  可以存放任何长度的

  左移相当于乘以 ;右移相当于除以

  索引器的返回值是bool值 所以在实现的时候最开始的一句话是:

  public bool this[int index]

  

  >>符号表示的是往右移动位数;

  <<符号表示的是往左移动位数;

  &运算符:都是 的情况下才会最终的结果是

  ~运算符在C#中是按位求补的操作 【 : ; : 】

cha138/Article/program/net/201311/12906

相关参考

知识大全 C# 索引器实战开发学习笔记

C#索引器实战开发学习笔记  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  这是使用C#开发智能手

知识大全 实战开发C# 索引器学习笔记[2]

实战开发C#索引器学习笔记[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  备注: 

知识大全 实战开发C# 索引器学习笔记[1]

实战开发C#索引器学习笔记[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  简单说来所谓索引

知识大全 ASP.NET学习笔记之c#必会

ASP.NET学习笔记之c#必会  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nbs

知识大全 Spring Integration学习笔记(一)

SpringIntegration学习笔记(一)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 PL/SQL学习笔记(一)

PL/SQL学习笔记(一)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  基本概念 &

知识大全 JAVA虚拟机实例学习笔记一

JAVA虚拟机实例学习笔记一  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  编译顺序      

知识大全 ORACLE性能诊断―学习statspack笔记(一)

ORACLE性能诊断―学习statspack笔记(一)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧

知识大全 SDL学习笔记一图片和字体显示

SDL学习笔记一图片和字体显示  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  偶然得知SDL这个

知识大全 新手上路:Oracle分析函数学习笔记一

新手上路:Oracle分析函数学习笔记一  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  环境wi