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

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

5
ฉันจะเข้าถึงคลาสภายในจากแอสเซมบลีภายนอกได้อย่างไร
มีแอสเซมบลีที่ฉันไม่สามารถแก้ไขได้ (จัดหาโดยผู้จำหน่าย) ซึ่งมีวิธีการส่งคืนประเภทอ็อบเจ็กต์แต่เป็นประเภทภายในจริงๆ ฉันจะเข้าถึงฟิลด์และ / หรือวิธีการของวัตถุจากแอสเซมบลีของฉันได้อย่างไร โปรดทราบว่าฉันไม่สามารถแก้ไขชุดประกอบที่จัดหาโดยผู้จัดจำหน่ายได้ โดยพื้นฐานแล้วนี่คือสิ่งที่ฉันมี: จากผู้ขาย: internal class InternalClass public string test; end class public class Vendor private InternalClass _internal; public object Tag {get{return _internal;}} end class จากการประกอบของฉันโดยใช้แอสเซมบลีของผู้ขาย public class MyClass { public void AccessTest() { Vendor vendor = new Vendor(); object value = vendor.Tag; // Here …
100 c#  class 

11
มีการแจงนับที่กำหนดไว้ล่วงหน้าสำหรับเดือนในไลบรารี. NET หรือไม่
ฉันต้องการดูว่ามีการแจงนับอย่างเป็นทางการเป็นเวลาหลายเดือนใน. net framework หรือไม่ สำหรับฉันแล้วดูเหมือนจะเป็นไปได้ว่ามีอยู่เนื่องจากการใช้งานเดือนเป็นเรื่องปกติและเนื่องจากมีการแจงนับอื่น ๆ ใน. net ตัวอย่างเช่นมีการแจงนับสำหรับวันในสัปดาห์ System.DayOfWeek ซึ่งรวมถึงวันจันทร์วันอังคารเป็นต้น ฉันสงสัยว่ามีเดือนในหนึ่งปีเช่นมกราคมกุมภาพันธ์เป็นต้น? มีใครรู้บ้าง?
100 c#  .net  datetime  enumeration 

10
กำหนดรูปแบบของ DateTime ด้วยคำอธิบายประกอบข้อมูลหรือไม่
ฉันมีแอตทริบิวต์นี้ในโมเดลมุมมองของฉัน: [DataType(DataType.DateTime)] public DateTime? StartDate { get; set; } หากฉันต้องการแสดงวันที่หรือใส่วันที่ในกล่องข้อความฉันมีสิ่งเหล่านี้: <%: Model.StartDate %> <%: Html.TextBoxFor(m => m.StartDate) %> เมื่อใดก็ตามที่แสดงวันที่จะแสดงเป็นวันที่01/01/2011 12:00:00 AM แต่ฉันต้องการแสดงเฉพาะ01/01/2011เท่านั้น มีวิธีใช้รูปแบบการแสดงผลกับคำอธิบายประกอบข้อมูลหรือไม่? ฉันไม่ต้องการไปที่ทุกอินสแตนซ์ที่ฉันแสดงวันที่และเพิ่มโค้ดเพื่อจัดรูปแบบ

5
ฉันจะค้นหาตารางเฉพาะในรุ่น EDMX ของฉันอย่างรวดเร็วได้อย่างไร
ฉันสงสัยว่ามีใครรู้วิธีที่เร็วกว่าในการค้นหาตารางในรุ่น EDMX มากกว่าแค่เลื่อนดูแผนภาพและมองหาสิ่งนั้น ฐานข้อมูลของเรามีตารางประมาณ 50 ตารางและเมื่อฉันกำลังมองหาตารางที่เฉพาะเจาะจงมันเป็นเพียงงานที่น่าเบื่อที่จะดูว่า VS วางสิ่งนั้นไว้ที่ไหน ฉันใช้ VS 2010 เพื่อจุดประสงค์ของคำถามนี้ ขอบคุณล่วงหน้า.

14
ความแตกต่างระหว่างประเภทการอ้างอิงและประเภทค่าใน c # คืออะไร?
ผู้ชายบางคนถามคำถามนี้กับฉันเมื่อสองเดือนก่อนและฉันไม่สามารถอธิบายรายละเอียดได้ ความแตกต่างระหว่างประเภทอ้างอิงและประเภทค่าใน C # คืออะไร? ฉันรู้ว่ามีค่าชนิดint, bool, floatฯลฯ และการอ้างอิงประเภทdelegate, interfaceฯลฯ หรือเป็นความผิดนี้มากเกินไป? คุณช่วยอธิบายให้ฉันเข้าใจแบบมืออาชีพได้ไหม

8
ใน C # วิธีการสร้างอินสแตนซ์ประเภททั่วไปที่ส่งผ่านภายในวิธีการ?
ฉันจะสร้างอินสแตนซ์ประเภท T ภายในInstantiateType<T>วิธีการด้านล่างได้อย่างไร ฉันได้รับข้อผิดพลาด: 'T' เป็น 'พารามิเตอร์ประเภท' แต่ใช้เหมือน 'ตัวแปร' : (เลื่อนลงสำหรับคำตอบที่อ้างอิง) using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace TestGeneric33 { class Program { static void Main(string[] args) { Container container = new Container(); Console.WriteLine(container.InstantiateType<Customer>("Jim", "Smith")); Console.WriteLine(container.InstantiateType<Employee>("Joe", "Thompson")); Console.ReadLine(); } } public class Container { public T InstantiateType<T>(string firstName, …
100 c#  generics 

19
C # วิธีที่สวยงามในการตรวจสอบว่าคุณสมบัติของคุณสมบัติเป็นโมฆะหรือไม่
ใน C # บอกว่าคุณต้องการดึงค่าออกจาก PropertyC ในตัวอย่างนี้และ ObjectA, PropertyA และ PropertyB ทั้งหมดสามารถเป็นค่าว่างได้ ObjectA.PropertyA.PropertyB.PropertyC ฉันจะรับ PropertyC อย่างปลอดภัยโดยใช้รหัสน้อยที่สุดได้อย่างไร? ตอนนี้ฉันจะตรวจสอบ: if(ObjectA != null && ObjectA.PropertyA !=null && ObjectA.PropertyA.PropertyB != null) { // safely pull off the value int value = objectA.PropertyA.PropertyB.PropertyC; } มันจะเป็นการดีที่จะทำอะไรแบบนี้ (รหัสหลอก) int value = ObjectA.PropertyA.PropertyB ? ObjectA.PropertyA.PropertyB : defaultVal; อาจยุบลงไปอีกด้วยตัวดำเนินการเชื่อมต่อแบบ null …

6
การอ่าน 64 บิต Registry จากแอปพลิเคชัน 32 บิต
ฉันมีโครงการทดสอบหน่วย ac # ที่คอมไพล์สำหรับ AnyCPU บิลด์เซิร์ฟเวอร์ของเราเป็นเครื่อง 64 บิตและติดตั้งอินสแตนซ์ 64 บิต SQL Express โครงการทดสอบใช้รหัสที่คล้ายกับข้อมูลต่อไปนี้เพื่อระบุพา ธ ไปยังไฟล์. MDF: private string GetExpressPath() { RegistryKey sqlServerKey = Registry.LocalMachine.OpenSubKey( @"SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL" ); string sqlExpressKeyName = (string) sqlServerKey.GetValue( "SQLEXPRESS" ); RegistryKey sqlInstanceSetupKey = sqlServerKey.OpenSubKey( sqlExpressKeyName + @"\Setup" ); return sqlInstanceSetupKey.GetValue( "SQLDataRoot" ).ToString(); } รหัสนี้ใช้งานได้ดีบนเวิร์กสเตชัน …
100 c#  .net  64-bit  registry  32-bit 


4
มีวิธีใดบ้างใน C # ที่จะแทนที่เมธอดคลาสด้วยเมธอดส่วนขยาย?
มีบางครั้งที่ฉันต้องการแทนที่เมธอดในคลาสด้วยเมธอดส่วนขยาย มีวิธีใดบ้างที่จะทำใน C #? ตัวอย่างเช่น: public static class StringExtension { public static int GetHashCode(this string inStr) { return MyHash(inStr); } } กรณีที่ฉันต้องการทำเช่นนี้คือสามารถจัดเก็บแฮชของสตริงลงในฐานข้อมูลและมีการใช้ค่าเดียวกันกับคลาสทั้งหมดที่ใช้แฮชของคลาสสตริง (เช่นพจนานุกรมเป็นต้น) ตั้งแต่ ไม่รับประกันว่าอัลกอริทึมการแฮช. Net ในตัวจะเข้ากันได้จาก Framework รุ่นหนึ่งไปอีกเวอร์ชันหนึ่งฉันต้องการแทนที่ด้วยของฉันเอง มีอีกกรณีหนึ่งที่ฉันพบว่าฉันต้องการแทนที่เมธอดคลาสด้วยเมธอดส่วนขยายเช่นกันดังนั้นจึงไม่เฉพาะเจาะจงกับคลาสสตริงหรือเมธอด GetHashCode ฉันรู้ว่าฉันสามารถทำสิ่งนี้ได้ด้วยการแบ่งคลาสย่อยออกจากคลาสที่มีอยู่ แต่มันจะสะดวกมากที่จะสามารถทำกับส่วนขยายได้ในหลาย ๆ กรณี

4
. NET มีวิธีตรวจสอบว่า List a มีรายการทั้งหมดใน List b หรือไม่?
ฉันมีวิธีการดังต่อไปนี้: namespace ListHelper { public class ListHelper<T> { public static bool ContainsAllItems(List<T> a, List<T> b) { return b.TrueForAll(delegate(T t) { return a.Contains(t); }); } } } จุดประสงค์เพื่อตรวจสอบว่ารายการมีองค์ประกอบทั้งหมดของรายการอื่นหรือไม่ สำหรับฉันดูเหมือนว่าสิ่งนี้จะถูกสร้างขึ้นใน. NET อยู่แล้วนั่นเป็นกรณีนี้และฉันกำลังทำซ้ำฟังก์ชันหรือไม่ แก้ไข: ขออภัยที่ไม่ได้แจ้งล่วงหน้าว่าฉันใช้รหัสนี้ใน Mono เวอร์ชัน 2.4.2
100 c#  .net  list  generics  mono 

6
ใช้ bitmask ใน C #
สมมติว่าฉันมีสิ่งต่อไปนี้ int susan = 2; //0010 int bob = 4; //0100 int karen = 8; //1000 และฉันส่ง 10 (8 + 2) เป็นพารามิเตอร์ไปยังเมธอดและฉันต้องการถอดรหัสสิ่งนี้เพื่อหมายถึงซูซานและคาเรน ฉันรู้ว่า 10 คือ 1010 แต่ฉันจะใช้ตรรกะบางอย่างเพื่อดูว่ามีการตรวจสอบบิตเฉพาะได้อย่างไร if (condition_for_karen) // How to quickly check whether effective karen bit is 1 ตอนนี้สิ่งที่ฉันคิดได้ก็คือการตรวจสอบว่าหมายเลขที่ฉันผ่านคืออะไร 14 // 1110 12 // 1100 10 // 1010 …
100 c#  bitmask 


7
ปิดใช้งานย่อเล็กสุดและขยายใหญ่สุดบน WinForm หรือไม่
WinForms มีสามช่องที่มุมขวาบนซึ่งย่อขยายใหญ่สุดและปิดแบบฟอร์ม สิ่งที่ฉันต้องการทำได้คือการลบขนาดเล็กสุดและขยายใหญ่สุดในขณะที่ปิดไว้ ฉันยังต้องทำอย่างไรเพื่อให้การปิดย่อขนาดเล็กที่สุดแทนการปิดแบบฟอร์ม จะทำได้อย่างไร?


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