C#概念总结(二)
1、C#的方法:<access Specifier>? <Return Type>< Method Name>(Parmeter list){???? method Body}
?? 其中 Method Name是一個唯一的標志符,且大小寫敏感, parmeter list 參數列表,該參數用來接收和傳遞方法使用的參數,參數列表是指方法的參數類型,順序和數量,參數是可選的,一個方法可以不包函參數。
?附錄:今天做實驗的時候發現一個奇怪的現象,就是在kali linux 中使用 kali? U 盤時候,就U盤的格式修改成監聽模式,即混雜模式后,在Windows,也就是自己的宿主機上連接在五香網卡會失效。
2、C#參數傳遞 當調用帶有參數的方法的時候,我們需要向方法傳遞參數,C#中有三種方式向方法傳遞參數。分別是值參數、引用參數、輸出參數。
?????? 值參數: 這種方式 賦值參數的實際值給函數的形式參數,實參和形參使用兩個不同的內存地址,在這中情況之下,當形參發生改變的時候,不會影響實參的值。從而保證了實參的安全性。
???? 引用參數:? 這種方式賦值參數的內存地址給引用形式參數,當形式蠶食發生改變的時候,同時也改變了實參的值。
???? 輸出參數:?? 這種方式返回多個值。
? 引用傳遞參數; 是對變量的內存地址的引用,當按因用戶傳遞參數的式,與值參數不同的是,他不會為這些參數創建一個新的存儲的位置,引用參數表示提供給方法的參數具有相同的位置。? 在C#中使用C#關鍵字聲明引用參數。
?? 輸出傳遞參數:
????? return語句可以用在只從函數返回一個值。
?
?using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication7
{
??? class Program
??? {
??????? static void Main(string[] args)
??????? {
??????????? numberManinputlation Te = new numberManinputlation();
??????????? int a = 100;
??????????? Console.WriteLine(" 調用之前輸出{0}", a);
?????????? ?
??????????? Te.getValue(out a);
??????????? Console.WriteLine("調用之后輸出{0}", a);
??????????? Console.ReadKey();
??????????? int c, b;
??????????? Te.getValues(out c,out b);
??????????? Console.WriteLine("c: {0}", c);
??????????? Console.WriteLine("b:{0}", b);
??????????? Console.ReadLine();
??????? }
??? }
??? class numberManinputlation {
??????? public void getValue(out int x) {
??????????? int temp=34;
??????????? x = temp;
??????? }
??????? public void getValues(out int a, out int b) {
??????????? Console.WriteLine("please input noe number");
??????????? a = Convert.ToInt32(Console.ReadLine());
??????????? Console.WriteLine("please input second number");
??????????? b = Convert.ToInt32(Console.ReadLine());
??????? }
??? }
}
3、C#可空類型:
????? nullabe 類型,表示基礎值類型正常范圍內的值,再加上一個null 值。類似的nullable<bool> 表示被賦值為true或false或者 null
4、C#數組 (Array): 數組是一個存儲在相同類型的固定大小的順序的集合,書序是用來存儲數據的集合,通常認為數組是一個同一個人類型的變量集合,所有數組都是由連續的的內存地址位置構成,最低的地址對應的是第一個元素,最高的對應最后一個元素。聲明數組語法格式:? datatype[] arrname;
?聲明一個數組并不會初始化,當初始化數組變量的時候,可以給數組賦值。?? 數組是一個引用類型。所以使用關鍵字new 來常見數組的實例。
?? double [] balance=new double[12];
?? 數組的初始化還可以這樣寫。? 一邊初始化一邊進行賦值??? int [] marks=new int[34] {23,24,34545,5656,5756,}; 這樣的話還可以省略數組的大小聲明。
? 數組的訪問:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication9
{
??? class Program
??? {
??????? static void Main(string[] args)
??????? {
??????????? bool numbersOk = false;
??????????? double var1, var2;
??????????? var1 = 0;
??????????? var2 = 0;
??????????? while (!numbersOk) {
??????????????? Console.WriteLine("Give me a number");
??????????????? var1 = Convert.ToDouble(Console.ReadLine());
??????????????? Console.WriteLine("Give me second number");
??????????????? var2 = Convert.ToDouble(Console.ReadLine());
??????????????? if((var1>10)&&(var2>=10)){
??????????????? numbersOk=true;}
??????????????? else{
??????????????? if((var1<=10)&&(var2<=10)){
??????????????? numbersOk=true;}
??????????????????? else{
??????????????????????? Console.WriteLine("one number may be great ");
??????????????????? }
??????????????? }
??????????? }
??????????? Console.WriteLine("your input numbers is {0},{1}",var1,var2);
??????????? Console.WriteLine("you true or false is numberOK {0}", numbersOk);
??????????? Console.ReadLine();
??????????? Console.ReadKey();
??????????? Test T = new Test();
??????????? Console.WriteLine("下面進行的輸入");
??????????? T.Panduan();
??????????? Shuzu S = new Shuzu();
??????????? S.shuzu();
??????????? StringTest St = new StringTest();
??????????? St.ceshiString();
??????????? Console.ReadKey();
??????? }
??? }
??? class?? Test {
??????? public void Panduan() {
??????????? String[] i={"ds","sfsdf"};
??????????? if (i.Length != 2) {
??????????????? Console.WriteLine("Two argument requried");
??????????????? return;
??????????? }
??????????? string param1 = i[0];
??????????? //int param2 = convert.toint32(i[1]);
??????????? Console.WriteLine("String parameter {0}", param1);
??????????? //console.writeline("string parameter {0}", param2);
??????????? Console.ReadKey();
??????????? Console.ReadLine();
??????? }
??? }
??? class Shuzu {
??????? public void shuzu() {
??????????? int[] n = new int[10];
?
??????????? //初始化數組 n的元素
??????????? for (int i = 0; i < 10; i++) {
??????????????? n[i] = i + 100;
??????????? }
??????????? for (int j = 0; j < 10; j++)
??????????? {
??????????????? Console.WriteLine("inputout number {0}", n[j]);
??????????? }
??????????? Console.ReadLine();
??????????? foreach (int j in n) {
??????????????? int i = j - 100;
??????????????? Console.WriteLine("Elemnt{0}={1}",i,j);
??????????? }
??????????? Console.ReadKey();
??????? }
??? }
??? class Foreachtest {
??? public void xunhuan(){
??? }}
??? class StringTest {
??????? public void ceshiString() {
??????????? String fname;
??????????? String laname;
??????????? fname = "TianYa";
??????????? laname = "ming";
??????????? String fullName = fname + laname;
??????????? Console.WriteLine("Full name is {0}", fullName);
??????????? Console.ReadLine();
??????????? char []letters = { 'w', 'e', 'W' };
??????????? String greetings = new String(letters);
??????????? Console.WriteLine("Greeting :{0",greetings);
??????????? Console.ReadKey();
??????????? //返回字符串
??????????? String[] sarray = { "Hello", "Form" };
??????????? String mesage = String.Join("", sarray);
??????????? DateTime waitng = new DateTime(2012, 12, 12, 17, 12, 45);
??????????? String hat = String.Format("message sent at {0}", waitng);
??????????? Console.ReadKey();
??????? }
??? }
}
5、String類的方法
??? public staticint Compare(String strA,Sttring strB)? 比較兩個制定的String對象,并返回一個表示他排列書序中的相對位置。該方法區分大小寫。
?? public static Compare(String strA,Strign strB,bool ignoreCase) 比較兩個指定對象的,,并返回表示一個在排列的順序中的相對位置整數。次方法忽略大小寫
??? public static Concat(String A,String B)? 連接兩個對象
? public? static String Comcat(Sting A,String B,String C) 連接三個對象
?
| public bool Contains( string value ) 返回一個表示指定 string 對象是否出現在字符串中的值。 | |
| 7 | public static string Copy( string str ) 創建一個與指定字符串具有相同值的新的 String 對象。 |
| 8 | public void CopyTo( int sourceIndex, char[] destination, int destinationIndex, int count ) 從 string 對象的指定位置開始復制指定數量的字符到 Unicode 字符數組中的指定位置。 |
| 9 | public bool EndsWith( string value ) 判斷 string 對象的結尾是否匹配指定的字符串。 |
| 10 | public bool Equals( string value ) 判斷當前的 string 對象是否與指定的 string 對象具有相同的值。 |
| 11 | public static bool Equals( string a, string b ) 判斷兩個指定的 string 對象是否具有相同的值。 |
| 12 | public static string Format( string format, Object arg0 ) 把指定字符串中一個或多個格式項替換為指定對象的字符串表示形式。 |
| 13 | public int IndexOf( char value ) 返回指定 Unicode 字符在當前字符串中第一次出現的索引,索引從 0 開始。 |
| 14 | public int IndexOf( string value ) 返回指定字符串在該實例中第一次出現的索引,索引從 0 開始。 |
| 15 | public int IndexOf( char value, int startIndex ) 返回指定 Unicode 字符從該字符串中指定字符位置開始搜索第一次出現的索引,索引從 0 開始。 |
| 16 | public int IndexOf( string value, int startIndex ) 返回指定字符串從該實例中指定字符位置開始搜索第一次出現的索引,索引從 0 開始。 |
| 17 | public int IndexOfAny( char[] anyOf ) 返回某一個指定的 Unicode 字符數組中任意字符在該實例中第一次出現的索引,索引從 0 開始。 |
| 18 | public int IndexOfAny( char[] anyOf, int startIndex ) 返回某一個指定的 Unicode 字符數組中任意字符從該實例中指定字符位置開始搜索第一次出現的索引,索引從 0 開始。 |
| 19 | public string Insert( int startIndex, string value ) 返回一個新的字符串,其中,指定的字符串被插入在當前 string 對象的指定索引位置。 |
| 20 | public static bool IsNullOrEmpty( string value ) 指示指定的字符串是否為 null 或者是否為一個空的字符串。 |
| 21 | public static string Join( string separator, string[] value ) 連接一個字符串數組中的所有元素,使用指定的分隔符分隔每個元素。 |
| 22 | public static string Join( string separator, string[] value, int startIndex, int count ) 連接接一個字符串數組中的指定位置開始的指定元素,使用指定的分隔符分隔每個元素。 |
| 23 | public int LastIndexOf( char value ) 返回指定 Unicode 字符在當前 string 對象中最后一次出現的索引位置,索引從 0 開始。 |
| 24 | public int LastIndexOf( string value ) 返回指定字符串在當前 string 對象中最后一次出現的索引位置,索引從 0 開始。 |
| 25 | public string Remove( int startIndex ) 移除當前實例中的所有字符,從指定位置開始,一直到最后一個位置為止,并返回字符串。 |
| 26 | public string Remove( int startIndex, int count ) 從當前字符串的指定位置開始移除指定數量的字符,并返回字符串。 |
| 27 | public string Replace( char oldChar, char newChar ) 把當前 string 對象中,所有指定的 Unicode 字符替換為另一個指定的 Unicode 字符,并返回新的字符串。 |
| 28 | public string Replace( string oldValue, string newValue ) 把當前 string 對象中,所有指定的字符串替換為另一個指定的字符串,并返回新的字符串。 |
| 29 | public string[] Split( params char[] separator ) 返回一個字符串數組,包含當前的 string 對象中的子字符串,子字符串是使用指定的 Unicode 字符數組中的元素進行分隔的。 |
| 30 | public string[] Split( char[] separator, int count ) 返回一個字符串數組,包含當前的 string 對象中的子字符串,子字符串是使用指定的 Unicode 字符數組中的元素進行分隔的。int 參數指定要返回的子字符串的最大數目。 |
| 31 | public bool StartsWith( string value ) 判斷字符串實例的開頭是否匹配指定的字符串。 |
| 32 | public char[] ToCharArray() 返回一個帶有當前 string 對象中所有字符的 Unicode 字符數組。 |
| 33 | public char[] ToCharArray( int startIndex, int length ) 返回一個帶有當前 string 對象中所有字符的 Unicode 字符數組,從指定的索引開始,直到指定的長度為止。 |
| 34 | public string ToLower() 把字符串轉換為小寫并返回。 |
| 35 | public string ToUpper() 把字符串轉換為大寫并返回。 |
| 36 | public string Trim() 移除當前 String 對象中的所有前導空白字符和后置空白字符。 |
的風格大方
?
轉載于:https://www.cnblogs.com/xinxianquan/p/9682098.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
- 上一篇: 【cisco下针对冗余链路故障备份的处理
- 下一篇: 一套代码小程序WebNative运行的探