سلام
پیشاپیش از شرکت کردن دوستان ، تشکر میکنم .
اگه کسی پردازنده ی چند نخی (صرفا نه فقط چند هسته ای) داره (مثل i3 یا i7 های نسل قبل از هشتم اینتل یا i5 های نسل هشتم اینتل یا رایزن چند نخی) ، و ویژال استودیو هم داره و با ویژال استودیو یه کم آشناست ، این دو کد زیر را تست کنه و تفاوت زمانی شو بگه (ابتدا ، دو بار کد اولی ، پی در پی اجرا بشه و بعد ، دو بار کد دوم اجرا و زمان هر دو در هر بار گرفته بشه) :
1) کد اول :
در پروژه ی سی شارپ ، یک دکمه ایجاد کنید و در رویداد کلیک اش :
کد:private void Button9_Click(object sender, EventArgs e) { listBox1.Items.Clear(); this.FileFolderCounter = 0; this.SearchInDirectory(@"E:\"); MessageBox.Show("complete"); }
و همچنین :
کد:int FileFolderCounter; private void SearchInDirectory(string path) { try { DirectoryInfo folderInfo = new DirectoryInfo(path); DirectoryInfo[] innerFolderInfos = folderInfo.GetDirectories(); if (innerFolderInfos.Length > 0) // تا زمانی که فقط پوشه پیدا بشه { foreach (var innerFolderInf in innerFolderInfos) { this.SearchInDirectory(innerFolderInf.FullName); } } FileInfo[] innerFileInfos = folderInfo.GetFiles(); if (innerFileInfos.Length > 0) // تا زمانی که فایل پیدا بشه { List<FileInfo> listFileFolders = new List<FileInfo>(innerFileInfos); listFileFolders.Add(new FileInfo(path)); this.FileFolderCounter += innerFileInfos.Length; } this.FileFolderCounter++; } catch (Exception) { } }
2) کد دوم :
در پروژه ی سی شارپ ، یک دکمه ایجاد کنید و در رویداد کلیک اش :
کد:private void Button9_Click(object sender, EventArgs e) { listBox1.Items.Clear(); this.FileFolderCounter = 0; this.SearchInDirectorySynchronize(@"E:\"); MessageBox.Show("complete"); }
و همچنین :
کد:int FileFolderCounter; private void SearchInDirectorySynchronize(string path) { try { DirectoryInfo folderInfo = new DirectoryInfo(path); DirectoryInfo[] innerFolderInfos = folderInfo.GetDirectories(); if (innerFolderInfos.Length > 0) // تا زمانی که فقط پوشه پیدا بشه { Parallel.ForEach(innerFolderInfos, innerFolderInf => this.SearchInDirectory(innerFolderInf.FullName)); } FileInfo[] innerFileInfos = folderInfo.GetFiles(); if (innerFileInfos.Length > 0) // تا زمانی که فایل پیدا بشه { List<FileInfo> listFileFolders = new List<FileInfo>(innerFileInfos); listFileFolders.Add(new FileInfo(path)); this.FileFolderCounter += innerFileInfos.Length; } this.FileFolderCounter++; } catch (Exception) { } }
این کد ، تعداد فایل ها و فولدرهای درایو E در کامپیوتر را میشماره (اطلاعات فقط توی کامپیوتر اون شخص شمرده میشه . یعنی کد جاسوسی و ... نیست) و مانی هم که پیام complete را بده ، یعنی تمام شد.
با تشکر برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
آخرین ویرایش توسط SajjadKhati در تاریخ 07-05-19 انجام شده است
دانلود فیلم آموزش برنامه نویسی Visual Studio C#.Net
فیلم آموزش کامل Autoplay Media Studio
وقتی انسان ، حیوان هست ، پس قیمت میتونی براش بذاری ولی وقتی انسان حَیّ مُتِاَلِّه هست که قیمت نداره ، بها داره. "دکتر حسن عباسی"
1 کاربر در حال مشاهده این موضوع. (0 عضو و 1 میهمان)
Bookmarks