C#學(xué)習(xí) D2

一、輸入及輸出

輸入:
System命名空間中的Console類提供獲取輸入的函數(shù)ReadLine()罚斗,但是Console.ReadLine只接受字符串格式的數(shù)據(jù)针姿,如果想輸入其他數(shù)據(jù)厌衙,可以在前面加一個(gè)類型轉(zhuǎn)換。

輸出:
輸出可以使用Console.Write(s)表示輸出s但不換行榕暇,如果需要換行可以使用Console.WriteLine(s)
WriteLine中若有多個(gè)字符同時(shí)輸出需要在前面用占位符{0}{1}{2}…彤枢,分別表示第一個(gè)筒饰、第二個(gè)、第三個(gè)字符…

using System;
namespace WriteApplication
{
    class WriteTest
    {
        //主函數(shù)
        static void Main(string[] args)
        {
            string s1;
            string s2;
            int i;
            s1 = Console.ReadLine();
            s2 = Console.ReadLine();
            i = Convert.ToInt32(Console.ReadLine());
            int t;
            t = i + 3;
            Console.Write(s1);
            Console.WriteLine(t);
            Console.WriteLine("s1={0},s2={1},I love {0}.", s1, s2);
            Console.ReadKey();
        }
    }
}

輸入:
test
sleep
2
代碼輸出結(jié)果:
test5
s1=test,s2=sleep,I love test.


二业栅、C#文件的輸入與輸出

System.IO命名空間中的FileStream類用于文件的讀寫和關(guān)閉。我們可以通過創(chuàng)建一個(gè)FileStream對(duì)象來創(chuàng)建或打開一個(gè)文件携取,創(chuàng)建的語(yǔ)法為:FileStream <object_name> = new FileStream( <file_path>, <FileMode Enumerator>, <FileAccess Enumerator>, <FileShare Enumerator> )
FileMode定義了各種文件的打開方式:

  • Append:打開一個(gè)已有的文件雷滋,光標(biāo)放置文件結(jié)尾你弦。如果文件不存在,則創(chuàng)建文件。
  • Create:創(chuàng)建一個(gè)新的文件旷偿,若文件已存在爆侣,則刪除原來的文件,然后創(chuàng)建一個(gè)新的茫负。
  • CreateNew:指定操作系統(tǒng)創(chuàng)建一個(gè)新的文件乎赴,若文件存在榕吼,則拋出異常。
  • Open:打開一個(gè)已有的文件原探,若文件不存在顽素,則拋出異常。
  • OpenOrCreate:指定操作系統(tǒng)打開一個(gè)已有的文件型型,若文件不存在划鸽,則用指定的名稱創(chuàng)建一個(gè)新的文件并打開。
  • Truncate:打開一個(gè)已有的文件嫂用,并向其中寫入全新的數(shù)據(jù)(抹去原來的內(nèi)容),但保留文件的初始創(chuàng)建日期甘畅。若文件不存在疏唾,則拋出異常函似。
    FileAccess中包含:Read,ReadWrite和Write
    FileShare中包含:
  • Inheritable:允許文件句柄可由子進(jìn)程繼承
  • None:拒絕共享當(dāng)前文件顿天,即文件關(guān)閉前牌废,其他任何進(jìn)程不得使用該文件
  • Read:允許隨后打開的文件讀取
  • ReadWrite:允許隨后打開的文件讀取或?qū)懭?/li>
  • Write:允許隨后打開的文件寫入
  • Delete:允許隨后刪除文件
    常用的功能方法:
  • Read(data, Int32, Int32):讀取流中指定區(qū)間的數(shù)據(jù)啤握,并寫入data中
  • Write(data, Int32, Int32):從data中將指定區(qū)間的數(shù)據(jù)并寫入流中
  • Close():關(guān)閉當(dāng)前流并釋放于當(dāng)前流關(guān)聯(lián)的任何資源
  • Dispose():釋放流所有的資源
  • Seek(Int64, SeekOrigin):將此流的當(dāng)前位置設(shè)定為定值排抬,其中SeekOrigin有3個(gè)值:Begin,Current和End
    File.Seek(8, SeekOrigin.Begin)表示將文件的指針移動(dòng)到第8個(gè)字節(jié)
    File.Seek(-5, SeekOrigin.End)表示將文件的指針移動(dòng)到文件倒數(shù)第5個(gè)字節(jié)

三莫绣、訪問修飾符

C#中封裝需要通過訪問修飾符來設(shè)置使用者的訪問權(quán)限对室,訪問修飾符包括:

  • public:所有對(duì)象都可以訪問
  • private:在對(duì)象內(nèi)部可以訪問
  • protected:該類對(duì)象及其子類對(duì)象可以訪問
  • internal:同一程序集的對(duì)象可以訪問
  • protected internal:本類掩宜、派生類或同一程序集可以訪問

四么翰、方法

  • 在參數(shù)傳遞的默認(rèn)方式下,調(diào)用一個(gè)方法時(shí)檐迟,會(huì)為每個(gè)值參數(shù)創(chuàng)建一個(gè)新的存儲(chǔ)位置补胚,實(shí)際的參數(shù)值會(huì)復(fù)制給形參溶其,使用的是兩個(gè)不同內(nèi)存中的值敦间。因此當(dāng)形參發(fā)生改變時(shí)不會(huì)影響實(shí)參的值廓块。
  • 在使用引用傳遞參數(shù)時(shí),不會(huì)為參數(shù)創(chuàng)建一個(gè)新的存儲(chǔ)位置带猴。在C#中使用ref關(guān)鍵字聲明引用參數(shù)浓利。
using System;
using System.IO;

namespace WriteApplication
{
    class WriteTest
    {
        public void swap1(int x, int y)
        {
            int temp;
            temp = x;
            x = y;
            y =temp;
        } 

        public void swap2(ref int x, ref int y)
        {
            int temp;
            temp = x;
            x = y;
            y =temp;
        }

        //主函數(shù)
        static void Main(string[] args)
        {
            WriteTest n = new WriteTest();
            int a = 100;
            int b = 200;
            Console.WriteLine("交換前a:{0}",a);
            Console.WriteLine("交換前b:{0}",b);
            n.swap1(a,b);
            Console.WriteLine("使用參數(shù)傳遞后a:{0}",a);
            Console.WriteLine("使用參數(shù)傳遞后b:{0}",b);
            a = 100;
            b = 200;
            n.swap2(ref a, ref b);
            Console.WriteLine("使用引用參數(shù)傳遞后a:{0}",a);
            Console.WriteLine("使用引用參數(shù)傳遞后b:{0}",b);
            Console.ReadLine();
        }
    }
}

代碼運(yùn)行結(jié)果:
交換前a:100
交換前b:200
使用參數(shù)傳遞后a:100
使用參數(shù)傳遞后b:200
使用引用參數(shù)傳遞后a:200
使用引用參數(shù)傳遞后b:100

輸出參數(shù)可以從函數(shù)中返回多值贷掖,將數(shù)據(jù)賦予自己苹威。由于提供給輸出參數(shù)的變量不需要賦值驾凶,因此從一個(gè)沒有初始值的方法中返回值,輸出參數(shù)特別有用

using System;
using System.IO;

namespace WriteApplication
{
    class WriteTest
    {
        public void define_values(out int x, out int y)
        {
            x = 10;
            y =20;
        } 

        //主函數(shù)
        static void Main(string[] args)
        {
            WriteTest n = new WriteTest();
            int a, b;       //沒有賦值
            n.define_values(out a, out b);
            Console.WriteLine(a);
            Console.WriteLine(b);
            Console.ReadLine();
        }
    }
}

代碼輸出結(jié)果:
10
20

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末窟哺,一起剝皮案震驚了整個(gè)濱河市且轨,隨后出現(xiàn)的幾起案子旋奢,更是在濱河造成了極大的恐慌然痊,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件锹引,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡吨艇,警方通過查閱死者的電腦和手機(jī)初澎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來软啼,“玉大人祸挪,你說我怎么就攤上這事贞间。” “怎么了整以?”我有些...
    開封第一講書人閱讀 158,369評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵公黑,是天一觀的道長(zhǎng)摄咆。 經(jīng)常有香客問我吭从,道長(zhǎng),這世上最難降的妖魔是什么涩金? 我笑而不...
    開封第一講書人閱讀 56,799評(píng)論 1 285
  • 正文 為了忘掉前任鸭廷,我火速辦了婚禮,結(jié)果婚禮上佳晶,老公的妹妹穿的比我還像新娘讼载。我一直安慰自己中跌,他們只是感情好漩符,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評(píng)論 6 386
  • 文/花漫 我一把揭開白布驱还。 她就那樣靜靜地躺著,像睡著了一般闷沥。 火紅的嫁衣襯著肌膚如雪咐容。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,096評(píng)論 1 291
  • 那天路狮,我揣著相機(jī)與錄音奄妨,去河邊找鬼苹祟。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的柳骄。 我是一名探鬼主播,決...
    沈念sama閱讀 39,159評(píng)論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼舔清,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼曲初!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起抒痒,我...
    開封第一講書人閱讀 37,917評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤故响,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后彩届,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體樟蠕,經(jīng)...
    沈念sama閱讀 44,360評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡寨辩,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評(píng)論 2 327
  • 正文 我和宋清朗相戀三年捣染,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片榕栏。...
    茶點(diǎn)故事閱讀 38,814評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡扒磁,死狀恐怖式曲,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情兰伤,我是刑警寧澤,帶...
    沈念sama閱讀 34,509評(píng)論 4 334
  • 正文 年R本政府宣布敦腔,位于F島的核電站符衔,受9級(jí)特大地震影響糟袁,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜形帮,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評(píng)論 3 317
  • 文/蒙蒙 一沃缘、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧锄蹂,春花似錦得糜、人聲如沸晰洒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)侮邀。三九已至绊茧,卻和暖如春华畏,著一層夾襖步出監(jiān)牢的瞬間尊蚁,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評(píng)論 1 267
  • 我被黑心中介騙來泰國(guó)打工况芒, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人叶撒。 一個(gè)月前我還...
    沈念sama閱讀 46,641評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像耐版,于是被迫代替她去往敵國(guó)和親祠够。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容