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

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

5
การคอมไพล์ C # JIT และ. NET
ฉันสับสนเล็กน้อยเกี่ยวกับรายละเอียดของการทำงานของคอมไพเลอร์ JIT ฉันรู้ว่า C # รวบรวมลงไปที่ IL ครั้งแรกที่เรียกใช้คือ JIT'd สิ่งนี้เกี่ยวข้องกับการแปลเป็นรหัสดั้งเดิมหรือไม่ รันไทม์. NET (เป็น Virtual Machine หรือไม่) โต้ตอบกับรหัส JIT? ฉันรู้ว่ามันไร้เดียงสา แต่ฉันสับสนตัวเองจริงๆ ความประทับใจของฉันคือเสมอว่าแอสเซมบลีไม่ได้ถูกตีความโดยรันไทม์. NET แต่ฉันไม่เข้าใจรายละเอียดของการโต้ตอบ
87 c#  jit 

15
ตัวดำเนินการ Unary plus ทำอะไร?
ตัวดำเนินการ Unary plus ทำอะไร? มีคำจำกัดความหลายอย่างที่ฉันพบ ( ที่นี่และที่นี่ ) แต่ฉันยังไม่รู้ว่าจะใช้ทำอะไร ดูเหมือนว่ามันจะไม่ได้ทำอะไรเลย แต่มันมีเหตุผลใช่มั้ย?
87 c#  c++  c  unary-operator 

13
HTTP 404 เมื่อเข้าถึงไฟล์. svc ใน IIS
ฉันเพิ่งสร้างบริการ WCF ซึ่งทำงานได้ดีเมื่อทดสอบจาก Visual Studio 2008 แต่เมื่อฉันปรับใช้โครงการกับ IIS และฉันพยายามเข้าถึงไฟล์. svc จาก IIS ฉันได้รับข้อผิดพลาดนี้: "Server Error in '/' Application.The resource cannot be found. " ฉันมีปัญหานี้มา 4 วันแล้ว ใน Handler Mappings ของ IIS Manager ฉันเห็นสองรายการสำหรับ. svc: svc-Integrated and svc-ISAPI-2.0
87 c#  .net  wcf 

10
วิธีที่ดีที่สุดในการใช้งานหลายภาษา / โลกาภิวัตน์ในโครงการ. NET ขนาดใหญ่
เร็ว ๆ นี้ฉันจะทำงานในโครงการ c # ขนาดใหญ่และต้องการสร้างการสนับสนุนหลายภาษาตั้งแต่เริ่มต้น ฉันได้เล่นและสามารถทำให้มันทำงานได้โดยใช้ไฟล์ทรัพยากรแยกกันสำหรับแต่ละภาษาจากนั้นใช้ตัวจัดการทรัพยากรเพื่อโหลดสตริง มีแนวทางดีๆอื่น ๆ ที่ฉันสามารถพิจารณาได้หรือไม่?


11
Objective-C เปรียบเทียบกับ C # อย่างไร? [ปิด]
ตามที่กล่าวมาในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบถาม & ตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจก่อให้เกิดการถกเถียงโต้แย้งการสำรวจความคิดเห็นหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงได้และอาจเปิดขึ้นมาใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อรับคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ฉันเพิ่งซื้อ Mac และใช้เป็นหลักในการพัฒนา C # ภายใต้ VMWare Fusion ด้วยแอปพลิเคชัน Mac ที่ดีทั้งหมดฉันเริ่มคิดถึง Xcode ที่ซุ่มซ่อนเพียงแค่คลิกติดตั้งและเรียนรู้ Objective-C ไวยากรณ์ระหว่างสองภาษาดูแตกต่างกันมากน่าจะเป็นเพราะ Objective-C มีต้นกำเนิดใน C และ C # มีต้นกำเนิดใน Java / C ++ แต่สามารถเรียนรู้ไวยากรณ์ที่แตกต่างกันได้ดังนั้นจึงควรใช้ได้ ข้อกังวลหลักของฉันคือการทำงานกับภาษาและหากจะช่วยในการสร้างโค้ดที่มีโครงสร้างดีอ่านง่ายและสวยงาม ฉันชอบฟีเจอร์ต่างๆเช่น LINQ และ var ใน C # และสงสัยว่ามีคุณสมบัติที่เทียบเท่าหรือดีกว่า / แตกต่างกันใน Objective-C หรือไม่ ฉันพลาดฟีเจอร์ภาษาใดที่จะพัฒนาด้วย Objective-C …
87 c#  objective-c 

12
ฉันจะสร้างคุณสมบัติไดนามิกใน C # ได้อย่างไร
ฉันกำลังมองหาวิธีสร้างคลาสด้วยชุดคุณสมบัติคงที่ ในขณะทำงานฉันต้องการเพิ่มคุณสมบัติไดนามิกอื่น ๆ ให้กับวัตถุนี้จากฐานข้อมูล ฉันต้องการเพิ่มความสามารถในการเรียงลำดับและการกรองให้กับวัตถุเหล่านี้ด้วย ฉันจะทำสิ่งนี้ใน C # ได้อย่างไร
87 c# 

5
การฝัง dll ที่ไม่มีการจัดการลงใน C # dll ที่มีการจัดการ
ฉันมี C # dll ที่มีการจัดการซึ่งใช้ dll C ++ ที่ไม่มีการจัดการโดยใช้ DLLImport ทั้งหมดทำงานได้ดี อย่างไรก็ตามฉันต้องการฝัง DLL ที่ไม่มีการจัดการนั้นไว้ใน DLL ที่มีการจัดการของฉันตามที่ Microsoft อธิบายไว้ที่นั่น: http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.dllimportattribute.dllimportattribute.aspx ดังนั้นฉันจึงเพิ่มไฟล์ dll ที่ไม่มีการจัดการลงในโปรเจ็กต์ dll ที่มีการจัดการของฉันตั้งค่าคุณสมบัติเป็น 'Embedded Resource' และแก้ไข DLLImport เป็นสิ่งที่ต้องการ: [DllImport("Unmanaged Driver.dll, Wrapper Engine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null", CallingConvention = CallingConvention.Winapi)] โดยที่ 'Wrapper Engine' เป็นชื่อแอสเซมบลีของ 'Unmanaged Driver.dll' ที่มีการจัดการของฉันคือ DLL ที่ไม่มีการจัดการ เมื่อฉันวิ่งฉันจะได้รับ: การเข้าถึงถูกปฏิเสธ. …

13
ฉันจะทำให้ Memcached ทำงานบนระบบ Windows (x64) 64 บิตได้หรือไม่
ไม่มีใครรู้ว่าถ้า , เมื่อไหร่หรือวิธีการที่ฉันจะได้รับmemcachedทำงานบนสภาพแวดล้อม 64bit Windows? ฉันกำลังตั้งค่าโซลูชันโฮสติ้งใหม่และต้องการใช้ระบบปฏิบัติการ 64 บิตเป็นอย่างมากและเนื่องจากเป็นโซลูชัน ASP.Net MVC ที่มี SQL Server DB ระบบปฏิบัติการจะเป็น Windows Server 2003 หรือ (หวังว่า!) 2008 ฉันรู้ว่าสิ่งนี้อาจทำให้เกิดการถกเถียงเกี่ยวกับ 32 บิตกับ 64 บิตบนเซิร์ฟเวอร์ แต่สมมติว่าความชอบของฉันคือ 64 บิตและฉันมีเหตุผลที่ดีมาก จนถึงตอนนี้ผมได้พยายามจำนวนของตัวเลือกและพบบิตของความช่วยเหลือที่เกี่ยวข้องกับการได้รับการขึ้นนี้บนเครื่อง 32bit (และประสบความสำเร็จก็อาจเพิ่ม) แต่ตั้งแต่เดิมพอร์ตของ Windowsเป็น Win32 เฉพาะนี้คือแทบจะไม่ไปช่วย เมื่อติดตั้งเป็นบริการบน x64 นอกจากนี้ยังมีการพึ่งพาตัวปลดปล่อยซึ่งฉันสามารถรับเวอร์ชันที่คอมไพล์ Win32 ฉันสงสัยว่าการโหลดทั้งหมดนี้ใน C ++ และการกด "คอมไพล์" (สำหรับ 64 บิต) จะไม่ได้ผลอย่างน้อยเพราะความแตกต่างที่ซับซ้อนในสถาปัตยกรรม 32 …
87 c#  c++  windows  64-bit  memcached 

10
วิธีที่ชาญฉลาดในการลบรายการออกจากรายการ <T> ในขณะที่ระบุใน C #
ฉันมีกรณีคลาสสิกในการพยายามลบรายการออกจากคอลเลกชั่นในขณะที่ระบุเป็นวงรอบ: List&lt;int&gt; myIntCollection = new List&lt;int&gt;(); myIntCollection.Add(42); myIntCollection.Add(12); myIntCollection.Add(96); myIntCollection.Add(25); foreach (int i in myIntCollection) { if (i == 42) myIntCollection.Remove(96); // The error is here. if (i == 25) myIntCollection.Remove(42); // The error is here. } ในช่วงเริ่มต้นของการวนซ้ำหลังจากการเปลี่ยนแปลงเกิดขึ้นตัวInvalidOperationExceptionนับจะถูกส่งไปเนื่องจากตัวนับไม่ชอบเมื่อคอลเลกชันที่อยู่เบื้องหลังเปลี่ยน ฉันต้องการเปลี่ยนแปลงคอลเลคชันขณะทำซ้ำ มีหลายรูปแบบที่สามารถใช้เพื่อหลีกเลี่ยงปัญหานี้ได้ แต่ดูเหมือนจะไม่มีวิธีแก้ปัญหาที่ดี: อย่าลบภายในลูปนี้ แต่ให้เก็บ "ลบรายการ" แยกต่างหากที่คุณประมวลผลหลังจากลูปหลัก นี่เป็นวิธีแก้ปัญหาที่ดี แต่ในกรณีของฉันฉันต้องการให้ไอเท็มหายไปทันทีในฐานะ "รอ" จนกระทั่งหลังจากลูปหลักเพื่อลบไอเท็มจะเปลี่ยนโฟลว์ลอจิกของโค้ดของฉัน แทนที่จะลบรายการเพียงแค่ตั้งค่าสถานะบนรายการและทำเครื่องหมายว่าไม่ใช้งาน …
87 c#  list  foreach  enumeration 

12
ค้นหาต้นไม้โดยใช้ LINQ
ฉันมีต้นไม้ที่สร้างขึ้นจากคลาสนี้ class Node { public string Key { get; } public List&lt;Node&gt; Children { get; } } ฉันต้องการค้นหาเด็กทุกคนและลูก ๆ ทุกคนเพื่อให้ได้คนที่ตรงกับเงื่อนไข: node.Key == SomeSpecialKey ฉันจะใช้งานได้อย่างไร?
87 c#  .net  linq 

3
การผสานสองภาพใน C # /. NET
แนวคิดง่ายๆ: ฉันมีสองภาพที่ต้องการรวมภาพหนึ่งคือ 500x500 ที่โปร่งใสตรงกลางอีกภาพหนึ่งคือ 150x150 แนวคิดพื้นฐานมีดังนี้: สร้างผืนผ้าใบว่างเปล่าที่มีขนาด 500x500 วางภาพ 150x150 ไว้ตรงกลางของผืนผ้าใบที่ว่างเปล่าแล้วคัดลอกภาพ 500x500 ไปทับเพื่อให้ตรงกลางโปร่งใสช่วยให้ 150x150 ส่องผ่าน ฉันรู้วิธีทำใน Java, PHP และ Python ... ฉันไม่รู้เลยว่าจะใช้วัตถุ / คลาสอะไรใน C # ตัวอย่างสั้น ๆ ของการคัดลอกรูปภาพไปยังอื่นก็เพียงพอแล้ว
87 c#  .net  image 

7
จะรวมหลาย ๆ ชุดเข้าด้วยกันได้อย่างไร?
ฉันใช้กองซ้อนบริการของฉันโดยใช้โปรเจ็กต์ EXE (งานเริ่มต้นสำหรับแอปพลิเคชัน azure) ซึ่งฉันได้คัดลอก DLL ของกองบริการและ DLL ของ Azure บางส่วนไปยังโครงการ EXE เมื่อฉันสร้างโปรเจ็กต์ EXE นี้ Azure DLL จะถูกรวมเข้ากับ EXE ของฉัน แต่ DLL ของกองบริการจะไม่รวมกับ EXE เนื่องจากในการเรียกใช้ EXE ของฉันบนเครื่องใด ๆ ฉันต้องคัดลอก DLL ของกองบริการทั้งหมดด้วยตนเอง ฉันใช้ dll ของกองบริการนี้เพื่อใช้ JsonServiceClient client = new JsonServiceClient(servicepath); ฉันต้องทำอย่างไรเพื่อรวม DLL เหล่านี้ทั้งหมดเข้ากับ EXE ของฉัน

4
เหตุใด for loop จึงทำงานแตกต่างกันเมื่อย้ายรหัส VB.NET ไปที่ C #
ฉันอยู่ระหว่างการย้ายโปรเจ็กต์จาก Visual Basic เป็น C # และฉันต้องเปลี่ยนวิธีการประกาศforลูปที่ใช้ ใน VB.NET forลูปถูกประกาศไว้ด้านล่าง: Dim stringValue As String = "42" For i As Integer = 1 To 10 - stringValue.Length stringValue = stringValue &amp; " " &amp; CStr(i) Console.WriteLine(stringValue) Next ผลลัพธ์ใด: 42 1 42 1 2 42 1 2 3 42 1 2 3 …
87 c#  vb.net  loops  for-loop 

5
Console.WriteLine () และต้องการอาร์กิวเมนต์มากเกินไป?
ฉันกำลังเรียกดูเอกสารและสังเกตเห็นว่าConsole.WriteLine()วิธีนี้มีการโอเวอร์โหลดหลายครั้ง โดยเฉพาะอย่างยิ่งความอยากรู้อยากเห็นและความสับสนบางส่วนของฉันเกี่ยวข้องกับสิ่งเหล่านี้: public static void WriteLine(string format, params object[] arg); public static void WriteLine(string format, object arg0); public static void WriteLine(string format, object arg0, object arg1); public static void WriteLine(string format, object arg0, object arg1, object arg2); public static void WriteLine(string format, object arg0, object arg1, object arg2, object arg3); …
87 c# 

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