C#概念总结(二)
1、C#的方法:<access Specifier>? <Return Type>< Method Name>(Parmeter list){???? method Body}
?? 其中 Method Name是一個(gè)唯一的標(biāo)志符,且大小寫(xiě)敏感, parmeter list 參數(shù)列表,該參數(shù)用來(lái)接收和傳遞方法使用的參數(shù),參數(shù)列表是指方法的參數(shù)類型,順序和數(shù)量,參數(shù)是可選的,一個(gè)方法可以不包函參數(shù)。
?附錄:今天做實(shí)驗(yàn)的時(shí)候發(fā)現(xiàn)一個(gè)奇怪的現(xiàn)象,就是在kali linux 中使用 kali? U 盤(pán)時(shí)候,就U盤(pán)的格式修改成監(jiān)聽(tīng)模式,即混雜模式后,在Windows,也就是自己的宿主機(jī)上連接在五香網(wǎng)卡會(huì)失效。
2、C#參數(shù)傳遞 當(dāng)調(diào)用帶有參數(shù)的方法的時(shí)候,我們需要向方法傳遞參數(shù),C#中有三種方式向方法傳遞參數(shù)。分別是值參數(shù)、引用參數(shù)、輸出參數(shù)。
?????? 值參數(shù): 這種方式 賦值參數(shù)的實(shí)際值給函數(shù)的形式參數(shù),實(shí)參和形參使用兩個(gè)不同的內(nèi)存地址,在這中情況之下,當(dāng)形參發(fā)生改變的時(shí)候,不會(huì)影響實(shí)參的值。從而保證了實(shí)參的安全性。
???? 引用參數(shù):? 這種方式賦值參數(shù)的內(nèi)存地址給引用形式參數(shù),當(dāng)形式蠶食發(fā)生改變的時(shí)候,同時(shí)也改變了實(shí)參的值。
???? 輸出參數(shù):?? 這種方式返回多個(gè)值。
? 引用傳遞參數(shù); 是對(duì)變量的內(nèi)存地址的引用,當(dāng)按因用戶傳遞參數(shù)的式,與值參數(shù)不同的是,他不會(huì)為這些參數(shù)創(chuàng)建一個(gè)新的存儲(chǔ)的位置,引用參數(shù)表示提供給方法的參數(shù)具有相同的位置。? 在C#中使用C#關(guān)鍵字聲明引用參數(shù)。
?? 輸出傳遞參數(shù):
????? return語(yǔ)句可以用在只從函數(shù)返回一個(gè)值。
?
?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(" 調(diào)用之前輸出{0}", a);
?????????? ?
??????????? Te.getValue(out a);
??????????? Console.WriteLine("調(diào)用之后輸出{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 類型,表示基礎(chǔ)值類型正常范圍內(nèi)的值,再加上一個(gè)null 值。類似的nullable<bool> 表示被賦值為true或false或者 null
4、C#數(shù)組 (Array): 數(shù)組是一個(gè)存儲(chǔ)在相同類型的固定大小的順序的集合,書(shū)序是用來(lái)存儲(chǔ)數(shù)據(jù)的集合,通常認(rèn)為數(shù)組是一個(gè)同一個(gè)人類型的變量集合,所有數(shù)組都是由連續(xù)的的內(nèi)存地址位置構(gòu)成,最低的地址對(duì)應(yīng)的是第一個(gè)元素,最高的對(duì)應(yīng)最后一個(gè)元素。聲明數(shù)組語(yǔ)法格式:? datatype[] arrname;
?聲明一個(gè)數(shù)組并不會(huì)初始化,當(dāng)初始化數(shù)組變量的時(shí)候,可以給數(shù)組賦值。?? 數(shù)組是一個(gè)引用類型。所以使用關(guān)鍵字new 來(lái)常見(jiàn)數(shù)組的實(shí)例。
?? double [] balance=new double[12];
?? 數(shù)組的初始化還可以這樣寫(xiě)。? 一邊初始化一邊進(jìn)行賦值??? int [] marks=new int[34] {23,24,34545,5656,5756,}; 這樣的話還可以省略數(shù)組的大小聲明。
? 數(shù)組的訪問(wèn):
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("下面進(jìn)行的輸入");
??????????? 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];
?
??????????? //初始化數(shù)組 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)? 比較兩個(gè)制定的String對(duì)象,并返回一個(gè)表示他排列書(shū)序中的相對(duì)位置。該方法區(qū)分大小寫(xiě)。
?? public static Compare(String strA,Strign strB,bool ignoreCase) 比較兩個(gè)指定對(duì)象的,,并返回表示一個(gè)在排列的順序中的相對(duì)位置整數(shù)。次方法忽略大小寫(xiě)
??? public static Concat(String A,String B)? 連接兩個(gè)對(duì)象
? public? static String Comcat(Sting A,String B,String C) 連接三個(gè)對(duì)象
?
| public bool Contains( string value ) 返回一個(gè)表示指定 string 對(duì)象是否出現(xiàn)在字符串中的值。 | |
| 7 | public static string Copy( string str ) 創(chuàng)建一個(gè)與指定字符串具有相同值的新的 String 對(duì)象。 |
| 8 | public void CopyTo( int sourceIndex, char[] destination, int destinationIndex, int count ) 從 string 對(duì)象的指定位置開(kāi)始復(fù)制指定數(shù)量的字符到 Unicode 字符數(shù)組中的指定位置。 |
| 9 | public bool EndsWith( string value ) 判斷 string 對(duì)象的結(jié)尾是否匹配指定的字符串。 |
| 10 | public bool Equals( string value ) 判斷當(dāng)前的 string 對(duì)象是否與指定的 string 對(duì)象具有相同的值。 |
| 11 | public static bool Equals( string a, string b ) 判斷兩個(gè)指定的 string 對(duì)象是否具有相同的值。 |
| 12 | public static string Format( string format, Object arg0 ) 把指定字符串中一個(gè)或多個(gè)格式項(xiàng)替換為指定對(duì)象的字符串表示形式。 |
| 13 | public int IndexOf( char value ) 返回指定 Unicode 字符在當(dāng)前字符串中第一次出現(xiàn)的索引,索引從 0 開(kāi)始。 |
| 14 | public int IndexOf( string value ) 返回指定字符串在該實(shí)例中第一次出現(xiàn)的索引,索引從 0 開(kāi)始。 |
| 15 | public int IndexOf( char value, int startIndex ) 返回指定 Unicode 字符從該字符串中指定字符位置開(kāi)始搜索第一次出現(xiàn)的索引,索引從 0 開(kāi)始。 |
| 16 | public int IndexOf( string value, int startIndex ) 返回指定字符串從該實(shí)例中指定字符位置開(kāi)始搜索第一次出現(xiàn)的索引,索引從 0 開(kāi)始。 |
| 17 | public int IndexOfAny( char[] anyOf ) 返回某一個(gè)指定的 Unicode 字符數(shù)組中任意字符在該實(shí)例中第一次出現(xiàn)的索引,索引從 0 開(kāi)始。 |
| 18 | public int IndexOfAny( char[] anyOf, int startIndex ) 返回某一個(gè)指定的 Unicode 字符數(shù)組中任意字符從該實(shí)例中指定字符位置開(kāi)始搜索第一次出現(xiàn)的索引,索引從 0 開(kāi)始。 |
| 19 | public string Insert( int startIndex, string value ) 返回一個(gè)新的字符串,其中,指定的字符串被插入在當(dāng)前 string 對(duì)象的指定索引位置。 |
| 20 | public static bool IsNullOrEmpty( string value ) 指示指定的字符串是否為 null 或者是否為一個(gè)空的字符串。 |
| 21 | public static string Join( string separator, string[] value ) 連接一個(gè)字符串?dāng)?shù)組中的所有元素,使用指定的分隔符分隔每個(gè)元素。 |
| 22 | public static string Join( string separator, string[] value, int startIndex, int count ) 連接接一個(gè)字符串?dāng)?shù)組中的指定位置開(kāi)始的指定元素,使用指定的分隔符分隔每個(gè)元素。 |
| 23 | public int LastIndexOf( char value ) 返回指定 Unicode 字符在當(dāng)前 string 對(duì)象中最后一次出現(xiàn)的索引位置,索引從 0 開(kāi)始。 |
| 24 | public int LastIndexOf( string value ) 返回指定字符串在當(dāng)前 string 對(duì)象中最后一次出現(xiàn)的索引位置,索引從 0 開(kāi)始。 |
| 25 | public string Remove( int startIndex ) 移除當(dāng)前實(shí)例中的所有字符,從指定位置開(kāi)始,一直到最后一個(gè)位置為止,并返回字符串。 |
| 26 | public string Remove( int startIndex, int count ) 從當(dāng)前字符串的指定位置開(kāi)始移除指定數(shù)量的字符,并返回字符串。 |
| 27 | public string Replace( char oldChar, char newChar ) 把當(dāng)前 string 對(duì)象中,所有指定的 Unicode 字符替換為另一個(gè)指定的 Unicode 字符,并返回新的字符串。 |
| 28 | public string Replace( string oldValue, string newValue ) 把當(dāng)前 string 對(duì)象中,所有指定的字符串替換為另一個(gè)指定的字符串,并返回新的字符串。 |
| 29 | public string[] Split( params char[] separator ) 返回一個(gè)字符串?dāng)?shù)組,包含當(dāng)前的 string 對(duì)象中的子字符串,子字符串是使用指定的 Unicode 字符數(shù)組中的元素進(jìn)行分隔的。 |
| 30 | public string[] Split( char[] separator, int count ) 返回一個(gè)字符串?dāng)?shù)組,包含當(dāng)前的 string 對(duì)象中的子字符串,子字符串是使用指定的 Unicode 字符數(shù)組中的元素進(jìn)行分隔的。int 參數(shù)指定要返回的子字符串的最大數(shù)目。 |
| 31 | public bool StartsWith( string value ) 判斷字符串實(shí)例的開(kāi)頭是否匹配指定的字符串。 |
| 32 | public char[] ToCharArray() 返回一個(gè)帶有當(dāng)前 string 對(duì)象中所有字符的 Unicode 字符數(shù)組。 |
| 33 | public char[] ToCharArray( int startIndex, int length ) 返回一個(gè)帶有當(dāng)前 string 對(duì)象中所有字符的 Unicode 字符數(shù)組,從指定的索引開(kāi)始,直到指定的長(zhǎng)度為止。 |
| 34 | public string ToLower() 把字符串轉(zhuǎn)換為小寫(xiě)并返回。 |
| 35 | public string ToUpper() 把字符串轉(zhuǎn)換為大寫(xiě)并返回。 |
| 36 | public string Trim() 移除當(dāng)前 String 對(duì)象中的所有前導(dǎo)空白字符和后置空白字符。 |
的風(fēng)格大方
?
轉(zhuǎn)載于:https://www.cnblogs.com/xinxianquan/p/9682098.html
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
- 上一篇: 【cisco下针对冗余链路故障备份的处理
- 下一篇: c#打开关闭进程