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

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

13
ไม่มีการอ้างอิง Microsoft.Office.Core
การใช้ตัวอย่างที่ให้ไว้ในcodeprojectฉันกำลังดิ้นรนหาวิธีหาข้อมูลอ้างอิงไปยังไลบรารี Microsoft.Office.Core ฉันได้รับข้อผิดพลาด "ไม่พบส่วนประกอบที่อ้างถึง 'Microsoft.Office.Core'" ฉันมี Office 2007 Enterprise Edition และ Outlook 2003 เท่านั้นที่ติดตั้งในระบบนี้ นี่อาจเป็นสาเหตุของเรื่องนี้หรือไม่? มิฉะนั้นฉันควรจะอ้างอิง dll ใดโดยเฉพาะ


13
คุณควรประกาศวิธีการโดยใช้โอเวอร์โหลดหรือพารามิเตอร์เสริมใน C # 4.0 หรือไม่?
ฉันกำลังดูการพูดคุยของ Anders เกี่ยวกับ C # 4.0 และดูตัวอย่างของ C # 5.0และทำให้ฉันนึกถึงเมื่อพารามิเตอร์ที่เป็นทางเลือกมีอยู่ใน C # จะเป็นวิธีที่แนะนำในการประกาศวิธีการที่ไม่จำเป็นต้องระบุพารามิเตอร์ทั้งหมด ยกตัวอย่างเช่นบางอย่างเช่นFileStreamชั้นจะมีประมาณสิบห้าก่อสร้างงานแตกต่างกันซึ่งสามารถแบ่งออกเป็น 'ครอบครัว' ตรรกะเช่นคนที่อยู่ด้านล่างจากสตริงคนจากและคนที่มาจากที่IntPtrSafeFileHandle FileStream(string,FileMode); FileStream(string,FileMode,FileAccess); FileStream(string,FileMode,FileAccess,FileShare); FileStream(string,FileMode,FileAccess,FileShare,int); FileStream(string,FileMode,FileAccess,FileShare,int,bool); สำหรับฉันแล้วดูเหมือนว่ารูปแบบประเภทนี้สามารถทำให้ง่ายขึ้นได้โดยมีตัวสร้างสามตัวแทนและใช้พารามิเตอร์ที่เป็นทางเลือกสำหรับพารามิเตอร์ที่สามารถเป็นค่าเริ่มต้นได้ซึ่งจะทำให้ตระกูลต่างๆของตัวสร้างมีความแตกต่างกันมากขึ้น [หมายเหตุ: ฉันรู้ว่าการเปลี่ยนแปลงนี้จะไม่มี ทำใน BCL ฉันกำลังพูดถึงสมมุติฐานสำหรับสถานการณ์ประเภทนี้] คุณคิดอย่างไร? จาก C # 4.0 จะเหมาะสมกว่าหรือไม่ที่จะทำให้กลุ่มตัวสร้างและวิธีการที่เกี่ยวข้องอย่างใกล้ชิดเป็นวิธีการเดียวที่มีพารามิเตอร์เสริมหรือมีเหตุผลที่ดีที่จะยึดติดกับกลไกการโอเวอร์โหลดแบบดั้งเดิม


10
การแมปวัตถุกับพจนานุกรมและในทางกลับกัน
มีวิธีที่รวดเร็วในการแมปวัตถุกับพจนานุกรมหรือไม่และในทางกลับกัน? ตัวอย่าง: IDictionary<string,object> a = new Dictionary<string,object>(); a["Id"]=1; a["Name"]="Ahmad"; // ..... กลายเป็น SomeClass b = new SomeClass(); b.Id=1; b.Name="Ahmad"; // ..........

3
ไม่สามารถแปลงจาก IEnumerable <T> เป็น ICollection <T>
ฉันได้กำหนดสิ่งต่อไปนี้: public ICollection&lt;Item&gt; Items { get; set; } เมื่อฉันเรียกใช้รหัสนี้: Items = _item.Get("001"); ฉันได้รับข้อความต่อไปนี้: Error 3 Cannot implicitly convert type 'System.Collections.Generic.IEnumerable&lt;Storage.Models.Item&gt;' to 'System.Collections.Generic.ICollection&lt;Storage.Models.Item&gt;'. An explicit conversion exists (are you missing a cast?) ใครช่วยอธิบายได้ไหมว่าฉันทำอะไรผิด ฉันสับสนมากเกี่ยวกับความแตกต่างระหว่าง Enumerable, Collections และการใช้ ToList () เพิ่มข้อมูล ต่อมาในรหัสของฉันฉันมีสิ่งต่อไปนี้: for (var index = 0; index &lt; Items.Count(); index++) ฉันจะสามารถกำหนดรายการเป็น …
94 c#  .net 

6
คุณบังคับใช้การกำหนดเส้นทางตัวพิมพ์เล็กใน ASP.NET Core ได้อย่างไร?
ใน ASP.NET 4 สิ่งนี้ทำได้ง่ายเหมือนกับroutes.LowercaseUrls = true;ในRegisterRoutesตัวจัดการสำหรับแอป ฉันไม่พบสิ่งที่เทียบเท่าใน ASP.NET Core เพื่อให้บรรลุสิ่งนี้ ฉันคิดว่ามันจะอยู่ที่นี่: app.UseMvc(configureRoutes =&gt; { configureRoutes.MapRoute("Default", "{controller=App}/{action=Index}/{id?}"); }); แต่ไม่มีอะไรที่configureRoutesจะอนุญาต ... เว้นแต่จะมีวิธีการขยายบางที่ที่ฉันไม่พบในเอกสาร

14
มีวิธีทำให้ file-path ปลอดภัยใน c # หรือไม่?
โปรแกรมของฉันจะใช้สตริงโดยพลการจากอินเทอร์เน็ตและใช้เป็นชื่อไฟล์ มีวิธีง่ายๆในการลบอักขระที่ไม่ดีออกจากสตริงเหล่านี้หรือฉันต้องเขียนฟังก์ชันที่กำหนดเองสำหรับสิ่งนี้หรือไม่
94 c#  .net  string  filepath 

5
โค้ด "แก้จุดบกพร่องเท่านั้น" ที่ควรทำงานเมื่อ "เปิด" เท่านั้น
ฉันต้องการเพิ่มโค้ด C # "debug only" บางส่วนที่ทำงานเฉพาะในกรณีที่ผู้ทำการดีบักร้องขอ ใน C ++ ฉันเคยทำสิ่งที่คล้ายกับสิ่งต่อไปนี้: void foo() { // ... #ifdef DEBUG static bool s_bDoDebugOnlyCode = false; if (s_bDoDebugOnlyCode) { // Debug only code here gets executed when the person debugging // manually sets the bool above to true. It then stays for the rest …

10
วิธีใส่ UserControl ลงใน Visual Studio toolBox
ฉันสร้าง usercontrol ในโปรเจ็กต์ของฉันและหลังจากสร้างโปรเจ็กต์ฉันต้องใส่มันลงในกล่องเครื่องมือของฉันและใช้มันเป็นคอนโทรลทั่วไป แต่ฉันทำไม่ได้ UserControlอยู่ใน namespace โครงการของฉันและฉันพยายามChoose Itemในเมนูคลิกขวา แต่ผมไม่ได้หาวิธีที่จะเพิ่มมัน

16
ฉันจะประเมินรหัส C # แบบไดนามิกได้อย่างไร
ฉันสามารถeval("something()");ดำเนินการโค้ดแบบไดนามิกใน JavaScript ได้ มีวิธีให้ฉันทำสิ่งเดียวกันใน C # หรือไม่? ตัวอย่างของสิ่งที่ฉันพยายามทำคือ: ฉันมีตัวแปรจำนวนเต็ม (พูดi) และฉันมีคุณสมบัติหลายอย่างตามชื่อ: "Property1", "Property2", "Property3" ฯลฯ ตอนนี้ฉันต้องการดำเนินการบางอย่าง ใน "ทรัพย์สินฉัน " iทรัพย์สินขึ้นอยู่กับมูลค่าของ นี่เป็นเรื่องง่ายมากด้วย Javascript มีวิธีใดบ้างที่จะทำเช่นนี้กับ C #?

15
AddBusinessDays และ GetBusinessDays
ฉันต้องการค้นหา 2 การใช้งานที่สมบูรณ์แบบที่สวยงามของ public static DateTime AddBusinessDays(this DateTime date, int days) { // code here } and public static int GetBusinessDays(this DateTime start, DateTime end) { // code here } O (1) ดีกว่า (ไม่มีลูป) แก้ไข: ตามวันทำการฉันหมายถึงวันทำการ (จันทร์อังคารพุธพฤหัสบดีศุกร์) ไม่มีวันหยุดยกเว้นวันหยุดสุดสัปดาห์ ฉันมีวิธีแก้ปัญหาที่น่าเกลียดอยู่แล้วซึ่งดูเหมือนจะใช้งานได้ แต่ฉันสงสัยว่ามีวิธีที่ดีในการทำเช่นนี้หรือไม่ ขอบคุณ นี่คือสิ่งที่ฉันเขียนไว้จนถึงตอนนี้ ใช้งานได้ในทุกกรณีและทำเชิงลบด้วย ยังคงต้องมีการใช้งาน GetBusinessDays public static DateTime AddBusinessDays(this DateTime …
93 c#  .net 

6
วิธีอ่านส่วน appSettings ในไฟล์ web.config
XML ของฉันมีลักษณะเช่นนี้และชื่อไฟล์คือ web.config &lt;?xml version="1.0"?&gt; &lt;configuration&gt; &lt;appSettings&gt; &lt;add key="configFile" value="IIS.config"/&gt; &lt;add key="RialtoDomain" value="ASNC_AUDITORS"/&gt; &lt;/appSettings&gt; &lt;system.serviceModel&gt; .... &lt;/system.serviceModel&gt; &lt;/configuration&gt; ในรหัสเมื่อฉันอ่านเช่นนี้ String path = ConfigurationSettings.AppSettings["configFile"]; ฉันได้รับค่าว่าง ไม่มีการโยนข้อยกเว้น วิธีนี้เป็นวิธีที่ถูกต้องหรือไม่?
93 c#  asp.net  web-config 


12
มี“ ตรงข้าม” กับตัวดำเนินการการรวมกันเป็นโมฆะหรือไม่? (…เป็นภาษาอะไร?)
การรวมกันเป็นโมฆะแปลได้คร่าวๆว่า return x, unless it is null, in which case return y ฉันมักจะต้องการ return null if x is null, otherwise return x.y ฉันสามารถใช้ return x == null ? null : x.y; ไม่เลว แต่nullตรงกลางมักรบกวนฉัน - ดูเหมือนฟุ่มเฟือย ฉันไม่ต้องการสิ่งที่ต้องการreturn x :: x.y;ซึ่งสิ่งที่ตามมาคือการประเมินเฉพาะในกรณีที่สิ่งที่นำหน้ามันไม่ได้เป็น::null ฉันเห็นว่านี่เกือบจะตรงข้ามกับการรวมกันเป็นโมฆะซึ่งผสมกับ terse, อินไลน์เช็คโมฆะ แต่ฉัน [ เกือบ ] แน่ใจว่าไม่มีตัวดำเนินการดังกล่าวใน C # มีภาษาอื่นที่มีตัวดำเนินการดังกล่าวหรือไม่? …

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