C〓知識の整理

8185 ワード

ここでは、一般的な属性のいくつかを簡単に紹介し、いくつかの用語の説明や例を挙げて説明します。
1.リロード:関数名が同じで、パラメータの個数やパラメータの種類が違います。

 public void MyDog(string s);
 public void MyDog(int i);
 public void MyDog(string s,int i); 
2.継承:1つのクラスが他のクラスのメンバーを継承し、継承されるのは基類といい、継承類は派生類といいます。

class A
 {
   ;
 }
class B:A //         :  
 { 
   ;
 }
3.多形:親タイプをサブクラスで書き換える方法は、overrideタイプを定義する必要があります。

 public override DuoTai()
 {
 Console.WriteLine("          'DuoTai'  ");
 }
4.インターフェース:実現は規範と制約を提供しており、キーワードInterface
 1.修繕符:new public protected internal prvate;
 2.インターフェースメンバーの前に修繕子があってはいけません。
 3.一つのクラスは複数のインターフェースを継承できます。
 4.フォーマット:インターフェース修飾子  キーワード  インターフェース名

 public interfa JieKou
 {
 void g(); //    ;
 }
5.抽象類:キーワード(abstract)

 public abstract class PiSaAll
 {
   ;
 }
6.パッケージ(クラスの属性):一つのデータをパッケージ化する。

 public string MianBing { get; set; }
 public string Shui { get; set; }
7.構造関数:クラスと同名で、public修飾で、戻り値がない(voidではない)

class Dog
 {
 public Dog(string s,int i ) //      
 {
 Console.WriteLine("      !  {0},  {1} ",s,i);
 }
 }

 Mian   :
 Dog dog = new Dog("  ",4);
8.メンバーアクセス制御子:
   1.Public(共有):任意の種類のメンバーにアクセスを許可する。
   2.Private(プライベート):他のクラスのメンバーに訪問されてはいけません。派生類を含めても使いにくいです。
   3.Internal(内部メンバー):プログラムセット内のクラスのメンバーのみにアクセスできますが、プログラム集外のクラス(派生クラスを含む)のメンバーはアクセスできません。
   4.Protected(保護メンバー):本類または派生類のメンバーにアクセスできます。他のクラスのメンバーはアクセスできません。
9.データベース接続用の語句:

 1. string conStr = "Data Source=IUCL8V4Y7NW5IRA\\SQLEXPRESS;Initial catalog=BookShopPlus;User Id=sa;Pwd=sa123"; 
 
 2. static string s = @"server=MY-20150918RBSF;database=Beauty;Integrated Security = true"; 
 
 3. static string s = ConfigurationSettings.AppSettings["dbinfo"].ToString(); 
10.異常処理:

 1. try{}catch{}
 
 2. try{}catch{}finally{}

 3. using(SqlConnection con = new SqlConnection(conStr)){}
11.名前空間:

 1.using System.Data.SqlClient; ==>  SQL   

 2.using System.Data; ==>   Data 

 3.using System.Collections; ==>ArrayList   
12.ArayList:①高度な動的配列に相当し、Arayクラスのアップグレードバージョン。
      ②配列を巡回するのに有利で、便利な容器類であり、参照の種類や値の種類は何でも保存できます。     

ArrayList arr = new ArrayList();
 ArrayList arr1 = new ArrayList(30); ==>     30   Student 
 arr.Add(12); ==>  int        Class Student                       {
 arr.Add(true); ==>  bool        public int No { get; set; }  
 arr.Add("Hello"); ==>             public string Name { get; set; }
 Student st = new Student(); ==>   Student    }
 st.No = 1001; ==> st  No  
 st.Name = "zhangsan"; ==> st  Name  
 arr.Add(st); ==> st     arr 
 arr.RemoveAt(1); ==>        
 arr.Insert(1, "World"); ==>    World
 for (int i = 0; i < arr.Count; i++)
 {
 Console.WriteLine(arr[i]); ==>for      
 }
13.Hashtableタイプ:2つのパラメータがその性能に影響する=>初期容量、ローディング係数。

Hashtable ht = new Hashtable();
 ht.Add("0531","   ");
 ht.Add("0532","   ");
 ht.Add("0536","   ");
 ht.Add("0631","   "); 
 Console.WriteLine(ht["0531"]); ==>     0531  ,   "   ";
 Console.WriteLine(ht.Count); ==>  Hashtable     ,   4;
14.ICollectionタイプ:IEnumerableの強化インターフェースであり、同期処理、割当機能を提供する。

Hashtable ht = new Hashtable();
 ht.Add("0531","   ");
 ht.Add("0532","   ");
 ht.Add("0536","   ");
 ht.Add("0631","   "); 
 ICollection keys = ht.Keys; ==>  Hashtable    keys ,      ,  keys    
 foreach(string k in keys)
 {
 Console.WriteLine("{0}-----{1}",k,ht[k]);
 }
15.IEnumeratorディショナー(Hashtableと)

Hashtable ht = new Hashtable();
 ht.Add("0531","   ");
 ht.Add("0532","   ");
 ht.Add("0536","   ");
 ht.Add("0631","   ");
 ICollection keys = ht.Keys; ==>  Hashtable    keys ,      ,  keys    
 IEnumerator ie = keys.GetEnumerator(); ==>          
 while(ie.MoveNext()) ==>              
 {
 Console.WriteLine(ie.Current); ==>         
 Console.WriteLine("{0}-----{1}",ie.Current,ht[ie.Current]);
 }
16.IEnumeratorディショナー(ArayListと)

ArrayList arr1 = new ArrayList(); 
 arr.Add(12);  ==>  int      
 arr.Add(true); ==>  bool       arr.Add("Hello"); ==>         
  arr.Insert(1,"World"); ==>           "World"
 IEnumerator ie = keys.GetEnumerator(); ==>           
    while(ie.MoveNext()) ==>              
    {
   Console.WriteLine(ie.Current); ==>         
   Console.WriteLine("{0}-----{1}",ie.Current,ht[ie.Current]);
    }
17.List泛型:①類と方法の具体的なパラメータは、顧客コードに声明することに遅延することができます。
           ②任意のデータタイプと一緒に作業できます。

  Student        :
 class MyStudentCompare:IComparer<Student> ==>                 
 { 
 public int Compare(Student st1, Student st2)
 {
 return st1.No - st2.No;
 }
 }
   Student :
 Class Student
 {
 public int No { get; set; }
   
 public string Name { get; set; }
 }
   Student  :
 List<Student> list = new List<Student>(); ==>  Student     
 list.Add(new Student(1002, "  2"));
 list.Add(new Student(1004, "  4"));
 list.Add(new Student(1003, "  3"));
 list.Add(new Student(1001, "  1"));
 list.Add(new Student(1005, "  5"));
 list.Sort(new MyStudentCompare()); ==>        
 foreach (Student st in list)
 {
 Console.WriteLine(st.ToString());
 }
18.Linked Listタイプ:双方向リストで、効率が高く、最初と最後の一つだけを探すことができます。

LinkedList<int> lnk = new LinkedList<int>(); ==>  int      
 lnk.AddFirst(1); 
 lnk.AddLast(2); 
 lnk.AddLast(3); 
 foreach (var lnk1 in lnk) ==> var      ,var       
 {
 Console.WriteLine(lnk1);
 } 
 LinkedListNode<int> first = lnk.First; ==>        
 Console.WriteLine(first.Value); ==>         
19.Dictionary:using System.Collectionsの名前空間を引用する必要があります。
説明:①キーのセットから値のセットへのマッピングは、それぞれの追加項目が1つの値と関連付けられたキーで構成されています。
         ②任意のキーは一意でなければならない。
         ③キーは空の参照nullではなく、値が参照の種類であれば、空の値となります。
         ④keyとvalueはどんなタイプでもいいです。

 Dictionary<int, string> dic = new Dictionary<int, string>();
 dic.Add(0531, "  "); 
 dic.Add(0532, "  "); 
 ICollection<int> key2 = dic.Keys; ==>  dic       
 foreach (var k in key2) ==> var  3.0      
 {
 Console.WriteLine("{0}----{1}", k, dic[k]);
 }
20.HashSet:無秩序集合であり、重複値がありません。

HashSet<string> hs = new HashSet<string>(); ==>   string     
 hs.Add("12345"); 
 hs.Add("Apple"); 
 hs.Add("1234"); 
 hs.Add("Hello"); 
 hs.Add("123"); 
 hs.Add("World");
 IEnumerator<string> ie = hs.GetEnumerator();
 while (ie.MoveNext())
 {
 Console.WriteLine(ie.Current);
 }
 Console.WriteLine(hs.Count);
21.カスタム汎型:

 public class Person <T>
 {
 public T No {get ; set ;}
 } 
注:本文はメモ帳で書いたものです。コードの誤りがあるかもしれません。読者に訂正してもらいたいです。
以上が本文の全部です。本文の内容は皆さんの学習や仕事に一定の助けをもたらしてくれると同時に、私達を応援してください。