คำถามติดแท็ก c#

C # (ออกเสียงว่า "ดูคม") เป็นภาษาการเขียนโปรแกรมหลายกระบวนทัศน์ในระดับสูงพิมพ์แบบคงที่พัฒนาโดย Microsoft รหัส C # มักกำหนดเป้าหมายกลุ่มเครื่องมือ. NET ของ Microsoft และรันไทม์ซึ่งรวมถึง. NET Framework, .NET Core และ Xamarin เป็นต้น ใช้แท็กนี้สำหรับคำถามเกี่ยวกับโค้ดที่เขียนในข้อกำหนดทางการของ C # หรือ C #

11
ตั้งค่าตัวกรองเป็น OpenFileDialog เพื่ออนุญาตรูปแบบภาพทั่วไปหรือไม่
ฉันมีรหัสนี้ฉันจะอนุญาตให้ยอมรับรูปแบบภาพทั่วไปทั้งหมดได้อย่างไร PNG, JPEG, JPG, GIF? นี่คือสิ่งที่ฉันมี: public void EncryptFile() { OpenFileDialog dialog = new OpenFileDialog(); dialog.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"; dialog.InitialDirectory = @"C:\"; dialog.Title = "Please select an image file to encrypt."; if (dialog.ShowDialog() == DialogResult.OK) { //Encrypt the selected file. I'll do this later. :) } } …

25
สร้างรหัสผ่านแบบสุ่ม
เมื่อผู้ใช้ในเว็บไซต์ของเราสูญเสียรหัสผ่านและออกไปที่หน้าลืมรหัสผ่านเราจำเป็นต้องให้รหัสผ่านชั่วคราวใหม่แก่เขา ฉันไม่รังเกียจที่จะสุ่มเลือกนี้หรือถ้าตรงกับกฎรหัสผ่านที่คาดเดาได้ยาก "ทั้งหมด" สิ่งที่ฉันต้องทำคือให้รหัสผ่านที่สามารถเปลี่ยนได้ในภายหลัง แอปพลิเคชันนี้เป็นเว็บแอปพลิเคชันที่เขียนด้วย C # ดังนั้นฉันจึงคิดว่าจะเป็นคนที่ใจร้ายและไปหาเส้นทางที่ง่ายต่อการใช้ส่วนหนึ่งของ Guid กล่าวคือ Guid.NewGuid().ToString("d").Substring(1,8) suggesstions? ความคิด?
229 c#  passwords  random 

6
การมอบหมาย => ใน C # ในลายเซ็นคุณสมบัติคืออะไร
ฉันเจอรหัสที่บอกว่า public int MaxHealth => Memory[Address].IsValid ? Memory[Address].Read<int>(Offs.Life.MaxHp) : 0; ตอนนี้ฉันค่อนข้างคุ้นเคยกับการแสดงออกของแลมบ์ดาแล้ว ฉันไม่ได้เห็นมันใช้วิธีนี้ สิ่งที่จะเป็นความแตกต่างระหว่างคำสั่งข้างต้นและ public int MaxHealth = x ? y:z;
229 c#  c#-6.0 

5
'ลิงก์แบบสแตติก' และ 'ลิงก์แบบไดนามิก' หมายถึงอะไร
ผมมักจะได้ยินคำว่า 'เชื่อมโยงแบบคง' และ 'เชื่อมโยงแบบไดนามิก' มักจะอยู่ในการอ้างอิงถึงรหัสที่เขียนในC , C ++หรือC # พวกเขาคืออะไรพวกเขากำลังพูดถึงอะไรกันแน่และพวกเขากำลังเชื่อมโยงอะไรกัน?


8
อันตรายเมื่อสร้างเธรดที่มีขนาดสแต็ก 50x เป็นค่าเริ่มต้นคืออะไร
ขณะนี้ฉันกำลังทำงานกับโปรแกรมที่มีประสิทธิภาพสูงและหนึ่งเส้นทางที่ฉันตัดสินใจสำรวจซึ่งอาจช่วยลดการใช้ทรัพยากรคือการเพิ่มขนาดสแต็กของเธรดของผู้ปฏิบัติงานเพื่อให้ฉันสามารถย้ายข้อมูลส่วนใหญ่float[]ที่ฉันจะเข้าสู่ สแต็ก (ใช้stackalloc) ฉันได้อ่านแล้วว่าขนาดสแต็กเริ่มต้นสำหรับเธรดคือ 1 MB ดังนั้นเพื่อย้ายทั้งหมดของfloat[]ฉันฉันจะต้องขยายสแต็กประมาณ 50 ครั้ง (ถึง 50 MB ~) ฉันเข้าใจว่าโดยทั่วไปถือว่าเป็น "ไม่ปลอดภัย" และไม่แนะนำ แต่หลังจากทำการเปรียบเทียบโค้ดปัจจุบันของฉันกับวิธีนี้ฉันพบว่าความเร็วในการประมวลผลเพิ่มขึ้น530% ! ดังนั้นฉันจึงไม่สามารถผ่านตัวเลือกนี้ได้โดยไม่ต้องตรวจสอบเพิ่มเติมซึ่งทำให้ฉันมีคำถาม สิ่งที่เป็นอันตรายที่เกี่ยวข้องกับการเพิ่มสแต็คให้มีขนาดใหญ่ (สิ่งที่อาจผิดไป) และฉันควรระมัดระวังอะไรบ้างเพื่อลดอันตรายดังกล่าว รหัสทดสอบของฉัน public static unsafe void TestMethod1() { float* samples = stackalloc float[12500000]; for (var ii = 0; ii < 12500000; ii++) { samples[ii] = 32768; } } public …
228 c#  .net  memory  stack-memory 

10
ค้นหาฟิลด์ส่วนตัวด้วยรีเฟลคชั่น
รับคลาสนี้ class Foo { // Want to find _bar with reflection [SomeAttribute] private string _bar; public string BigBar { get { return this._bar; } } } ฉันต้องการค้นหารายการส่วนตัว _bar ที่ฉันจะทำเครื่องหมายด้วยแอตทริบิวต์ เป็นไปได้ไหม ฉันทำสิ่งนี้ด้วยคุณสมบัติที่ฉันได้ค้นหาแอ็ตทริบิวต์ แต่ไม่เคยมีเขตข้อมูลส่วนตัว การตั้งค่าสถานะการเชื่อมโยงใดที่ฉันต้องตั้งค่าเพื่อรับฟิลด์ส่วนตัว

9
ดาวน์โหลดไฟล์ประเภทใดก็ได้ใน Asp.Net MVC โดยใช้ FileResult?
ฉันแนะนำให้ฉันใช้ FileResult เพื่ออนุญาตให้ผู้ใช้ดาวน์โหลดไฟล์จากแอปพลิเคชัน Asp.Net MVC ของฉัน แต่ตัวอย่างเดียวของสิ่งนี้ที่ฉันสามารถหาได้เสมอเกี่ยวกับไฟล์รูปภาพ (การระบุประเภทเนื้อหาอิมเมจ / jpeg) แต่ถ้าฉันไม่รู้จักประเภทไฟล์ล่ะ ฉันต้องการให้ผู้ใช้สามารถดาวน์โหลดไฟล์ใดก็ได้จากไฟล์ของเว็บไซต์ของฉัน ฉันได้อ่านวิธีหนึ่งในการทำเช่นนี้ (ดูโพสต์ก่อนหน้าสำหรับรหัส) ที่ใช้งานได้จริงยกเว้นสิ่งหนึ่ง: ชื่อของไฟล์ที่เกิดขึ้นในกล่องโต้ตอบบันทึกเป็นถูกตัดแบ่งจากพา ธ ไฟล์ที่มีเครื่องหมายขีดล่าง ( folder_folder_file.ext) นอกจากนี้ดูเหมือนว่าผู้คนคิดว่าฉันควรคืน FileResult แทนที่จะใช้คลาสที่กำหนดเองนี้ซึ่งฉันได้พบ BinaryContentResult ใครรู้วิธีที่ถูกต้องในการดาวน์โหลดเช่นนี้ใน MVC แก้ไข: ฉันได้รับคำตอบ (ด้านล่าง) แต่แค่คิดว่าฉันควรโพสต์รหัสการทำงานแบบเต็มหากมีคนสนใจ: public ActionResult Download(string filePath, string fileName) { string fullName = Path.Combine(GetBaseDir(), filePath, fileName); byte[] fileBytes = GetFile(fullName); return File( fileBytes, …
228 c#  asp.net-mvc-2 

18
Array slices ใน C #
คุณจะทำอย่างไรมันได้หรือไม่? รับอาร์เรย์ไบต์: byte[] foo = new byte[4096]; ฉันจะรับ x ไบต์แรกของอาร์เรย์เป็นอาร์เรย์แยกได้อย่างไร (โดยเฉพาะฉันต้องการมันเป็นIEnumerable<byte> ) นี่คือการทำงานกับSockets ฉันคิดว่าวิธีที่ง่ายที่สุดคือการแบ่งอาร์เรย์คล้ายกับไวยากรณ์ของ Perls: @bar = @foo[0..40]; ซึ่งจะคืนองค์ประกอบ 41 รายการแรกลงใน@barอาร์เรย์ มีบางอย่างใน C # ที่ฉันเพิ่งหายไปหรือมีบางสิ่งที่ฉันควรทำ? LINQ เป็นตัวเลือกสำหรับฉัน (. NET 3.5) ถ้ามันช่วยได้
228 c#  arrays 

9
การค้นหาว่ามีค่าอยู่ในรายการของวัตถุโดยใช้ Linq
บอกว่าผมได้เรียนซึ่งมีคุณสมบัติCustomer จากนั้นฉันมีFirstNameList<Customer> สามารถใช้ LINQ เพื่อค้นหาว่ารายชื่อมีลูกค้าด้วยFirstname = 'John'คำสั่งเดียว .. ได้อย่างไร?
228 c#  linq 

6
การติดตามแบบไม่มีอะไรแตกต่างกัน ()
ฉันมีคำถามเกี่ยวกับ.AsNoTracking()ส่วนขยายเนื่องจากทั้งหมดค่อนข้างใหม่และค่อนข้างสับสน ฉันใช้บริบทสำหรับคำขอต่อเว็บไซต์ เอนทิตีจำนวนมากของฉันไม่เปลี่ยนแปลงดังนั้นจึงไม่จำเป็นต้องถูกติดตาม แต่ฉันมีสถานการณ์ต่อไปนี้ที่ฉันไม่แน่ใจว่ากำลังจะไปยังฐานข้อมูลหรือแม้ว่ามันจะสร้างความแตกต่างในกรณีนี้ ตัวอย่างนี้คือสิ่งที่ฉันกำลังทำอยู่: context.Set<User>().AsNoTracking() // Step 1) Get user context.Set<User>() // Step 2) Update user นี่เป็นเหมือนข้างต้น แต่การลบออก.AsNoTracking()จากขั้นตอนที่ 1: context.Set<User>(); // Step 1) Get user context.Set<User>() // Step 2) Update user ขั้นตอนที่ 1 & 2 ใช้บริบทเดียวกัน แต่เกิดขึ้นในเวลาที่ต่างกัน สิ่งที่ฉันไม่สามารถทำได้คือมีความแตกต่างหรือไม่ เนื่องจากขั้นตอนที่ 2 เป็นการอัปเดตฉันคาดว่าทั้งคู่จะตีฐานข้อมูลสองครั้ง มีใครบอกฉันได้ไหมว่าความแตกต่างคืออะไร




11
การเข้าถึงที่ไม่สอดคล้องกัน: ประเภทพารามิเตอร์เข้าถึงได้น้อยกว่าวิธี
ฉันพยายามที่จะส่งวัตถุ (อ้างอิงถึงผู้ใช้ที่เข้าสู่ระบบในปัจจุบันโดยทั่วไป) ระหว่างสองรูปแบบ ในขณะนี้ฉันมีบางอย่างตามบรรทัดเหล่านี้ในแบบฟอร์มการเข้าสู่ระบบ: private ACTInterface oActInterface; public void button1_Click(object sender, EventArgs e) { oActInterface = new ACTInterface(@"\\actserver\Database\Premier.pad",this.textUser.Text,this.textPass.Text); if (oActInterface.checkLoggedIn()) { //user has authed against ACT, so we can carry on clients oClientForm = new clients(oActInterface); this.Hide(); oClientForm.Show(); } else... ในแบบฟอร์มถัดไป (ลูกค้า) ฉันมี: public partial class clients : Form { …
227 c#  object 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.