国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

程序員的1111

2019-11-14 13:47:52
字體:
來源:轉載
供稿:網友

又是一年一度的雙11,購物的購物,約會的約會,秀恩愛的秀恩愛,單身汪自然不屬于這三者。想想,沒什么好買的。約會,秀恩愛那種更沒了。前幾年說,希望明年光棍節前可以脫單,結果到現在還是一個人過。誒,說多了都是淚。但是,人總是要有夢想的,希望明年光棍節前可以擺脫單身的狀況。

 

”未將對象引用設置到對象的實例“

image

這種情況,大家都遇到過,通俗一點就是”找不到對象“,程序員經常跟”對象“打交道,卻總是找不到對象,只能用new一個”對象“來自嘲了。

image

像是這種情況,更是給人10000點傷害,連Excel都嘲笑你找不到對象,還能不能讓人愉快的工作了。

既然這樣,在這個日子,自娛自樂自嘲一番,想必是極好的,于是就有了下面這個

image

雖然不知道該叫什么,應下景的話,那暫且叫它”my1111“

 

如何實現的呢,原理就是往磁盤塞一定量數據。一定量數據=目前磁盤可用空間-最后剩余可用空間

代碼比較簡單,直接貼出來

using System;using System.Collections.Generic;using System.IO;using System.Linq;namespace DiskFiller{    class PRogram    {        static void Main(string[] args)        {            ShowDrives();//顯示每個盤的信息            List<FillingDrive> userInputFillingDrive = CollectUserInput();//獲取輸入的每個盤和要設置的可用空間            Console.WriteLine("填充中");            List<string> filledFilePathList = FillDataToDrive(userInputFillingDrive);//往磁盤填充數據            Console.WriteLine("填充完成");            Console.WriteLine("是否刪除填充的數據(輸入y表示刪除):");            if (Console.ReadLine().ToLower() == "y")            {                DeleteUselessData(filledFilePathList); //刪除填充的數據            }        }        /// <summary>        /// 顯示每個盤的信息        /// </summary>        public static void ShowDrives()        {            IEnumerable<DriveInfo> fixedDiskDrives = GetFixedDiskDrives();            foreach (var drive in fixedDiskDrives)            {                Console.WriteLine("盤符:" + drive.Name + "  可用空間:" + (drive.TotalFreeSpace >> 20).ToString() + "MB");            }        }        /// <summary>        /// 獲取輸入的每個盤和要設置的可用空間        /// </summary>        /// <returns></returns>        public static List<FillingDrive> CollectUserInput()        {            List<FillingDrive> fillingDriveList = new List<FillingDrive>();            Console.WriteLine("輸入的格式為  盤符,設置的可用空間  /n例如: c,15    表示要設置C盤,并且設置C盤的最后可用空間是15MB ");            while (true)            {                Console.WriteLine("請輸入,輸入quit結束輸入:");                string input = Console.ReadLine();                if (input.ToLower() == "quit")                {                    break;                }                string[] inputArray = input.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);                fillingDriveList.Add(new FillingDrive() //這里沒判斷輸入的格式是否正確                    {                        DriveName = inputArray[0],                        NewFreeSpace = Convert.ToInt64(inputArray[1]) << 20                     }                    );            }            return fillingDriveList;        }        /// <summary>        /// 往磁盤填充數據        /// </summary>        /// <param name="fillingDrives"></param>        /// <returns></returns>        public static List<string> FillDataToDrive(List<FillingDrive> fillingDrives)        {            List<string> filledFilePathList = new List<string>();            foreach (var item in fillingDrives)            {                DriveInfo drive = new DriveInfo(item.DriveName);                string filledFileName = DateTime.Now.ToString("yyyyMMddHHmmssfffffff") + ".my1111";//填充數據的文件                string filledFilePath = Path.Combine(drive.RootDirectory.FullName, filledFileName);                using (FileStream fs = new FileStream(filledFilePath, FileMode.OpenOrCreate))                {                    //減去4096是因為設置系統盤時,最后的結果總是多填充了4096字節,所以這里少填充4096字節                    long fillingSpace = drive.TotalFreeSpace - item.NewFreeSpace -4096;                    fs.SetLength(fillingSpace);                }                 filledFilePathList.Add(filledFilePath);            }            return filledFilePathList;        }        /// <summary>        /// 刪除填充的數據        /// </summary>        /// <param name="filledFilePathList"></param>        public static void DeleteUselessData(List<string> filledFilePathList)        {            foreach (var path in filledFilePathList)            {                File.Delete(path);            }        }        /// <summary>        /// 獲取磁盤        /// </summary>        /// <returns></returns>        internal static IEnumerable<DriveInfo> GetFixedDiskDrives()        {            DriveInfo[] totalDrives = DriveInfo.GetDrives();            IEnumerable<DriveInfo> fixedDiskDrives = totalDrives.Where(p => p.DriveType == DriveType.Fixed);            return fixedDiskDrives;        }        public class FillingDrive        {            /// <summary>            /// 盤符            /// </summary>            public string DriveName { get; set; }            /// <summary>            /// 填充到指定大小            /// </summary>            public long NewFreeSpace { get; set; }        }    }}

運行前,看下各盤的的情況,還需要給一個干凈的運行環境,防止其他軟件在磁盤生成數據文件,造成最后結果不準確。

image

執行

image

輸入各盤最后可用空間,輸入quit結束輸入

image

按回車,看到“填充完成”表示已經填完了

image

接下來,看下各盤的情況

image

可以看到各盤可用空間是輸入的剩余可用空間大小

各盤生成了一個后綴名為“my1111”的文件,比如,這里的E盤

image

看完結果后,輸入”y”刪除填充的文件,可以看到空間又回來了,如果輸入了其它,程序會退出,填充的文件只能手動刪,

刪除后綴是“my1111”的文件就可以了。

image

 

最后,祝各位1111快樂。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南漳县| 普宁市| 舞阳县| 山阳县| 尉氏县| 黑山县| 沙洋县| 博乐市| 仁布县| 丰镇市| 新昌县| 博湖县| 册亨县| 子洲县| 通城县| 阿鲁科尔沁旗| 高阳县| 万山特区| 乐陵市| 岱山县| 永寿县| 正镶白旗| 涟水县| 宣汉县| 灵武市| 明溪县| 新和县| 虎林市| 新蔡县| 吴旗县| 金乡县| 宝鸡市| 德兴市| 皮山县| 绥江县| 焦作市| 天水市| 宽城| 三穗县| 宁陕县| 南投县|