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

C # เป็นภาษาการเขียนโปรแกรมเชิงวัตถุที่มีการจัดการและรวบรวมขยะที่สร้างขึ้นโดย Microsoft ควบคู่ไปกับแพลตฟอร์ม. NET

5
ฉันควรตรวจสอบว่ามีบางสิ่งบางอย่างใน db และล้มเหลวอย่างรวดเร็วหรือรอข้อยกเว้น db
มีสองคลาส: public class Parent { public int Id { get; set; } public int ChildId { get; set; } } public class Child { ... } เมื่อกำหนดChildIdให้Parentฉันควรตรวจสอบก่อนว่ามันมีอยู่ในฐานข้อมูลหรือรอให้ฐานข้อมูลเกิดข้อยกเว้นหรือไม่ ตัวอย่างเช่น (ใช้ Entity Framework Core): หมายเหตุการตรวจสอบประเภทนี้มีอยู่ทั่วอินเทอร์เน็ตแม้ในเอกสารอย่างเป็นทางการของ Microsoft: https://docs.microsoft.com/en-us/aspnet/mvc/overview/getting-started/getting-started-with-ef-using- mvc / handling-concurrency-with-the-entity-framework-in-an-asp-net-mvc-application # modified-the-department-controllerแต่มีการจัดการข้อยกเว้นเพิ่มเติมสำหรับSaveChanges นอกจากนี้โปรดทราบว่าจุดประสงค์หลักของการตรวจสอบนี้คือการส่งคืนข้อความที่เป็นมิตรและสถานะ HTTP ที่เป็นที่รู้จักแก่ผู้ใช้ API และไม่ละเว้นข้อยกเว้นฐานข้อมูลอย่างสมบูรณ์ และยกเว้นสถานที่เดียวที่จะถูกโยนอยู่ภายในSaveChangesหรือSaveChangesAsyncโทร ... ดังนั้นจะไม่มีข้อยกเว้นใด ๆ เมื่อคุณโทรหรือFindAsync …

7
ข้อความนี้เกี่ยวกับ C # และ Java ที่เป็นครึ่งหนึ่งของภาษาหมายถึงอะไร [ปิด]
ในบทความ: ทำไม POCOมีประโยคนี้: Maciej Sobczak ทำให้มันดี:“ ฉันไม่ชอบเมื่อมีคนให้ภาษาครึ่งหนึ่งกับฉันและบอกฉันว่ามันเป็นของฉันเอง” ฉันไม่เข้าใจสิ่งที่เขาหมายถึงแม้ว่าC # เป็นเจ้าของโดย Microsoft & Java เป็นของ Oracleแต่ก็ไม่ได้หมายความว่าพวกเขามีภาษาอยู่ครึ่งภาษาใช่หรือไม่ ฉันไม่พบหลักฐานใด ๆ ที่จะพิสูจน์ประโยคนั้นและฉันอยากรู้จริงๆเกี่ยวกับเรื่องนี้ และยิ่งอยากรู้มากขึ้นเกี่ยวกับส่วน 'สำหรับการป้องกันของฉันเอง'
32 java  c#  microsoft  oracle 

4
เหตุใด F # จึงมีโหมดโต้ตอบ แต่ไม่ใช่ C #
F # ออกมาพร้อมกับ REPL แบบโต้ตอบ C # ไม่มีการเรียงลำดับและจริง ๆ แล้วเป็นเรื่องยากที่จะเล่นโดยไม่ต้องตั้งค่าโปรเจ็กต์เต็มรูปแบบ (แม้ว่า LINQpad จะใช้งานได้ มีบางสิ่งที่แตกต่างกันโดยพื้นฐานเกี่ยวกับภาษาที่อนุญาตให้ F # มีคอนโซลการโต้ตอบ แต่ทำให้ยากต่อการปรับใช้สำหรับ C # หรือไม่ ตั้งแต่หลายปีต่อมาผู้คนยังคงมาที่คำถามนี้ฉันควรทราบว่าตอนนี้มีตัวเลือกมากมาย คุณสามารถใช้ PowerShell (ติดตั้งล่วงหน้าในเครื่อง windows สมัยใหม่ทุกรุ่น) เพื่อเล่นกับ. Net framework หรือคุณสามารถใช้LinqPad ต้นแบบพลรหัส หรือคุณสามารถใช้ScriptCsหรือคุณสามารถใช้สภาพแวดล้อม jsfiddle ประเภทออนไลน์เช่นComplify.netหรือJsil ตัวเลือกมากมาย
32 c#  .net  tools  f# 

10
ทำไมคำถาม“ ให้ห้าสิ่งที่คุณเกลียดเกี่ยวกับ C #” นั้นตอบยากในระหว่างการสัมภาษณ์? [ปิด]
ในพอดคาสต์ 73โจเอลสปอลสกี้และเจฟฟ์แอทวู้ดพูดคุยกันในหมู่เรื่องอื่น ๆ "ห้าสิ่งที่ทุกคนควรเกลียดเกี่ยวกับภาษาโปรแกรมที่พวกเขาโปรดปราน": หากคุณพอใจกับห่วงโซ่เครื่องมือปัจจุบันของคุณคุณก็ไม่จำเป็นต้องเปลี่ยน อย่างไรก็ตามหากคุณไม่สามารถเขียนห้าสิ่งที่คุณเกลียดเกี่ยวกับภาษาการเขียนโปรแกรมที่คุณชื่นชอบฉันก็เถียงว่าคุณยังไม่รู้ดีพอที่จะตัดสิน มันเป็นเรื่องดีที่จะตระหนักถึงทางเลือกและมีสุขภาพที่ดีสำหรับทุกสิ่งที่คุณใช้ ฉันถามคำถามนี้กับผู้สมัครที่ฉันสัมภาษณ์ ไม่มีใครสามารถอ้างอย่างน้อยสิ่งหนึ่งที่พวกเขาเกลียดเกี่ยวกับ C # ¹ ทำไม? คำถามนี้ยากมากขนาดไหน เป็นเพราะบริบทเครียดของการสัมภาษณ์ว่าคำถามนี้เป็นไปไม่ได้ที่จะตอบโดยผู้ให้สัมภาษณ์? มีคำถามเกี่ยวกับคำถามนี้ซึ่งทำให้แย่สำหรับการสัมภาษณ์หรือไม่? เห็นได้ชัดว่ามันไม่ได้หมายความว่า C # นั้นสมบูรณ์แบบ ฉันมีรายการห้าสิ่งที่ฉันเกลียดเกี่ยวกับ C #: การขาดจำนวนตัวแปรชนิดใน generics (คล้ายกับparamsอาร์กิวเมนต์) Action<T>, Action<T1, T2>, Action<T1, T2, T3>, ⁞ อย่างจริงจัง ?! Action<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, …
32 c#  interview 

10
การใช้ GUID เป็นคีย์หลัก
โดยทั่วไปฉันใช้รหัสการเพิ่มอัตโนมัติเป็นคีย์หลักในฐานข้อมูล ฉันพยายามเรียนรู้ประโยชน์ของการใช้ GUID ฉันได้อ่านบทความนี้: https://betterexplained.com/articles/the-quick-guide-to-guids/ ฉันรู้ว่า GUID เหล่านี้ใช้เพื่อระบุวัตถุในระดับแอปพลิเคชัน พวกเขายังเก็บไว้เป็นคีย์หลักในระดับฐานข้อมูล ตัวอย่างเช่นสมมติว่าฉันมีคลาสต่อไปนี้: public class Person { public GUID ID; public string Name; .. //Person Methods follow } ว่าฉันต้องการสร้างคนใหม่ในหน่วยความจำแล้วใส่คนลงในฐานข้อมูล ฉันขอทำสิ่งนี้ได้ไหม Person p1 = new Person(); p1.ID=GUID.NewGUID(); PersonRepository.Insert(p1); สมมติว่าฉันมีฐานข้อมูลที่ประกอบด้วยแถวนับล้านแถวที่มี GUID เป็นคีย์หลัก สิ่งนี้จะไม่ซ้ำกันหรือไม่ ฉันเข้าใจแม้แต่ GUID อย่างถูกต้องหรือไม่ ผมอ่านบทความนี้ก่อนหน้านี้: http://enterprisecraftsmanship.com/2014/11/15/cqs-with-database-generated-ids/ มันทำให้ฉันสับสนเล็กน้อยตามที่ปรากฏเพื่อแนะนำสื่อกลางที่มีความสุขระหว่าง GUID และจำนวนเต็มเป็นคีย์หลัก แก้ไข 11/06/18 ฉันเชื่อว่า Guids …

2
การเลือกรูปแบบการออกแบบที่เหมาะสม
ฉันตระหนักถึงความสำคัญของการใช้รูปแบบการออกแบบมาเสมอ ฉันอยากรู้ว่านักพัฒนาคนอื่นจะเลือกที่เหมาะสมที่สุดอย่างไร คุณใช้ชุดคุณลักษณะ (เช่นแผนผังลำดับงาน) เพื่อช่วยคุณตัดสินใจหรือไม่? ตัวอย่างเช่น: หากวัตถุมีความเกี่ยวข้อง แต่เราไม่ต้องการระบุคลาสที่เป็นรูปธรรมให้พิจารณาบทคัดย่อ เมื่อการสร้างอินสแตนซ์เหลือให้กับคลาสที่ได้รับให้พิจารณา Factory จำเป็นต้องเข้าถึงองค์ประกอบของวัตถุรวมตามลำดับลอง Iterator หรือสิ่งที่คล้ายกัน

5
เหตุใด C # และ Java จึงใช้การอ้างอิงที่เท่าเทียมกันเป็นค่าเริ่มต้นสำหรับ '=='
ฉันได้รับการขบคิดในขณะที่ว่าทำไม Java และ C # (และฉันแน่ใจว่าภาษาอื่น ๆ ) ==เริ่มต้นความเสมอภาคอ้างอิงสำหรับ ในการเขียนโปรแกรมที่ฉันทำ (ซึ่งแน่นอนเป็นเพียงส่วนเล็ก ๆ ของปัญหาการเขียนโปรแกรม) ฉันมักจะต้องการความเสมอภาคเชิงตรรกะเมื่อเปรียบเทียบวัตถุแทนการอ้างอิงความเท่าเทียมกัน ฉันพยายามคิดว่าเพราะเหตุใดทั้งสองภาษานี้จึงใช้เส้นทางนี้แทนการย้อนกลับและมี==ความเท่าเทียมทางตรรกะและใช้.ReferenceEquals()เพื่อความเท่าเทียมกันในการอ้างอิง เห็นได้ชัดว่าการใช้ความเท่าเทียมกันของข้อมูลอ้างอิงนั้นง่ายมากที่จะนำไปใช้และมันก็มีพฤติกรรมที่สอดคล้องกันมาก ฉันไม่ต้องการที่จะรู้ปัญหาของการพยายามเปรียบเทียบเชิงตรรกะและมันจะต้องถูกนำไปใช้ในทุกชั้น ฉันยังตระหนักว่าภาษาเหล่านี้ได้รับการออกแบบมานานแล้ว แต่คำถามทั่วไปยืนอยู่ มีประโยชน์ที่สำคัญของการเริ่มต้นสิ่งนี้ที่ฉันเพิ่งหายไปหรือไม่หรือดูเหมือนว่ามีเหตุผลว่าพฤติกรรมเริ่มต้นควรเป็นความเท่าเทียมกันทางตรรกะและการเริ่มต้นกลับไปอ้างอิงความเท่าเทียมกันมันไม่มีความเสมอภาคเชิงตรรกะสำหรับชั้นเรียน?

5
Javascript modularity, MVC ที่ใช้เซิร์ฟเวอร์และความเป็นจริงทางธุรกิจ
ฉันเข้าใจว่านี่เป็นคำถามที่กว้างขวางมากแต่ฉันได้ทำงานกับแง่มุมต่าง ๆ ของปัญหานี้เป็นรายบุคคลและฉันกำลังดิ้นรนเพื่อนำแนวคิดและเทคโนโลยีทั้งหมดมารวมกัน ฉันต้องการระบุว่าคำตอบควรมีเทคโนโลยีเหล่านี้: C # MVC 3 w / มีดโกน Javascript ด้วย jQuery สิ่งใดที่เหนือกว่าสิ่งใด (เช่นBackbone.js , Entity Frameworkฯลฯ ) ยินดีต้อนรับเป็นคำแนะนำหากพวกเขาช่วยตอบคำถามซึ่งก็คือ: การใช้เทคโนโลยีที่ระบุไว้ข้างต้นเป็นกลยุทธ์ที่ดีที่สุดสำหรับการจัดระเบียบรหัสและตรรกะในขณะที่รักษาความสามารถในการปรับขนาดได้และความสามารถในการสร้าง UI ที่สมบูรณ์รวดเร็วและสะอาด โดยหลักแล้วควรเน้นไปที่โซลูชันที่ปรับใช้ในสภาพแวดล้อมทางธุรกิจ / องค์กร ในหมายเหตุนั้นรายการเทคโนโลยีข้างต้นจะไม่เปลี่ยนแปลงดังนั้นโปรดอย่าเสนอวิธีแก้ปัญหาด้วย "คุณควรใช้xxxแทนyyyที่คุณใช้อยู่ตอนนี้" พื้นหลัง ฉันทำงานกับ jQuery ทุกวันได้ใช้ MVC ของ ASP.NET และทำงานกับ C # เป็นเวลานาน ดังนั้นคุณสามารถนำเสนอวิธีแก้ปัญหาโดยสมมติว่าความรู้ระดับกลางถึงระดับสูงของเทคโนโลยีเหล่านั้น ฉันจะจัดระเบียบคำถามเป็นส่วนย่อย ๆเพื่อให้ง่ายต่อการตอบสนองต่อ: 1. โครงสร้างโครงการ ให้ฉันทำงานกับ ASP.NET MVC (ในVisual Studio …

7
เมื่อใดที่ฉันควรใช้คลาส 2 คุณสมบัติเหนือโครงสร้างที่สร้างไว้ล่วงหน้าเช่น KeyValuePair
เมื่อใดที่คุณควรใส่ข้อมูล Key / Value ในคลาสของตัวเองแทนที่จะใช้โครงสร้างทั่วไปที่สร้างไว้ล่วงหน้าเช่น a KeyValuePairหรือ a Tuple? ตัวอย่างเช่น ComboBox ส่วนใหญ่ที่ฉันสร้างมี DisplayName และค่า นี่เป็นข้อมูลประเภทหนึ่งที่ฉันพยายามจะตัดสินใจว่าจะใส่คลาสใหม่เมื่อใดและเมื่อใดควรใช้ KeyValuePair ขณะนี้ฉันกำลังทำงานกับบางสิ่งที่ใช้iCalendarงานอยู่และในที่สุดข้อมูลของผู้ใช้ที่เลือกจะได้รับการรวมกันเป็นkey1=value1;key2=value2;สตริงชนิดหนึ่ง ฉันเริ่มต้นด้วยการใส่ข้อมูลในKeyValuePair<string,string>แต่ตอนนี้ฉันสงสัยว่ามันควรจะเป็นชั้นเรียนของตัวเองแทน โดยรวมแล้วฉันสนใจที่จะทราบว่าจะใช้แนวทางใดเมื่อตัดสินใจใช้โครงสร้าง / คลาสที่มีอยู่เช่นKeyValuePairวัตถุ 2 คุณสมบัติและในสถานการณ์แบบใดที่คุณจะใช้อีกแบบหนึ่ง
31 c#  coding-style 

7
จะแนะนำให้ใช้ ORM แทนขั้นตอนการจัดเก็บได้อย่างไร
ฉันทำงานที่ บริษัท ที่ใช้ขั้นตอนการจัดเก็บสำหรับการเข้าถึงข้อมูลทั้งหมดเท่านั้นซึ่งทำให้มันน่ารำคาญมากที่จะทำให้ฐานข้อมูลท้องถิ่นของเราตรงกันเนื่องจากทุกครั้งที่เราต้องเรียกใช้โปรแกรมใหม่ ฉันเคยใช้ ORM พื้นฐานบางอย่างในอดีตและฉันพบว่าประสบการณ์ดีขึ้นและสะอาดขึ้นมาก ฉันอยากจะแนะนำผู้จัดการฝ่ายพัฒนาและทีมอื่น ๆ ที่เราใช้ ORM เพื่อการพัฒนาในอนาคต (ทีมที่เหลือคุ้นเคยกับกระบวนการจัดเก็บเท่านั้นและไม่เคยใช้อะไรเลย) สถาปัตยกรรมปัจจุบันคือ. NET 3.5 ที่เขียนเหมือน. NET 1.1 โดยมี "god classes" ที่ใช้การดำเนินการแปลก ๆ ของ ActiveRecord และส่งกลับชุดข้อมูลที่ไม่ได้พิมพ์ซึ่งวนลูปในไฟล์ code-behind คลาสใช้งานดังนี้: class Foo { public bool LoadFoo() { bool blnResult = false; if (this.FooID == 0) { throw new Exception("FooID must be set …

5
การนำอินเตอร์เฟสไปใช้เมื่อคุณไม่ต้องการคุณสมบัติใดคุณสมบัติหนึ่ง
ตรงไปตรงมาสวย ฉันกำลังใช้อินเทอร์เฟซ แต่มีคุณสมบัติหนึ่งที่ไม่จำเป็นสำหรับคลาสนี้และอันที่จริงแล้วไม่ควรใช้ แนวคิดแรกของฉันคือทำสิ่งที่ชอบ: int IFoo.Bar { get { raise new NotImplementedException(); } } ฉันคิดว่าไม่มีอะไรผิดปกติกับเรื่องนี้ แต่มันก็ไม่รู้สึก "ถูก" มีใครเคยเจอสถานการณ์ที่คล้ายกันมาก่อนหรือไม่ ถ้าเป็นเช่นนั้นคุณเข้าหามันได้อย่างไร?

9
การออกแบบคลาสเพื่อใช้คลาสทั้งหมดเป็นพารามิเตอร์แทนที่จะใช้คุณสมบัติแต่ละอย่าง
Userสมมติว่าสำหรับตัวอย่างเช่นคุณมีการประยุกต์ใช้กับการเรียนร่วมกันอย่างกว้างขวางเรียกว่า คลาสนี้จะเปิดเผยข้อมูลทั้งหมดเกี่ยวกับผู้ใช้ ID ชื่อระดับการเข้าถึงแต่ละโมดูลเขตเวลา ฯลฯ ข้อมูลผู้ใช้นั้นถูกอ้างอิงอย่างกว้างขวางทั่วทั้งระบบ แต่ไม่ว่าจะด้วยเหตุผลใดก็ตามระบบได้รับการตั้งค่าเพื่อให้แทนที่จะส่งผู้ใช้วัตถุนี้ไปยังคลาสที่ขึ้นอยู่กับว่าเรากำลังส่งผ่านคุณสมบัติของแต่ละบุคคล คลาสที่ต้องการ ID ผู้ใช้เพียงแค่ต้องการ GUID userIdเป็นพารามิเตอร์บางครั้งเราอาจต้องการชื่อผู้ใช้ด้วยดังนั้นจะถูกส่งผ่านเป็นพารามิเตอร์แยกต่างหาก ในบางกรณีสิ่งนี้จะถูกส่งไปยังแต่ละวิธีดังนั้นค่าจะไม่ถูกเก็บไว้ที่ระดับชั้นเลย ทุกครั้งที่ฉันต้องการเข้าถึงข้อมูลที่แตกต่างจากคลาสผู้ใช้ฉันต้องทำการเปลี่ยนแปลงโดยการเพิ่มพารามิเตอร์และเมื่อการเพิ่มโอเวอร์โหลดใหม่ไม่เหมาะสมฉันต้องเปลี่ยนการอ้างอิงถึงเมธอดหรือตัวสร้างคลาสทุกครั้ง ผู้ใช้เป็นเพียงตัวอย่างเดียว นี่คือการฝึกฝนอย่างกว้างขวางในรหัสของเรา ฉันคิดถูกไหมว่านี่เป็นการละเมิดหลักการเปิด / ปิด? ไม่ใช่แค่การเปลี่ยนคลาสที่มีอยู่ แต่ตั้งค่าไว้ตั้งแต่แรกเพื่อให้การเปลี่ยนแปลงอย่างกว้างขวางมีความเป็นไปได้สูงที่จะเป็นสิ่งจำเป็นในอนาคต? ถ้าเราเพิ่งผ่านไปใน Userวัตถุฉันสามารถเปลี่ยนแปลงชั้นเรียนเล็ก ๆ ที่ฉันทำงานด้วยได้ ถ้าฉันต้องเพิ่มพารามิเตอร์ฉันอาจต้องทำการเปลี่ยนแปลงหลายสิบครั้งเพื่ออ้างอิงไปยังคลาส มีหลักการอื่นใดที่ผิดไปจากการฝึกฝนนี้หรือไม่? การผกผันของการพึ่งพาอาจจะ? แม้ว่าเราจะไม่ได้อ้างถึงสิ่งที่เป็นนามธรรม แต่ก็มีผู้ใช้เพียงประเภทเดียวดังนั้นจึงไม่จำเป็นต้องมีอินเทอร์เฟซผู้ใช้ มีการละเมิดหลักการอื่น ๆ ที่ไม่ใช่แบบแข็งเช่นหลักการตั้งโปรแกรมการป้องกันขั้นพื้นฐานหรือไม่? ตัวสร้างของฉันควรมีลักษณะเช่นนี้: MyConstructor(GUID userid, String username) หรือสิ่งนี้: MyConstructor(User theUser) โพสต์แก้ไข: มีคนแนะนำว่าคำถามนั้นตอบใน "รหัสผ่านหรือวัตถุ?" สิ่งนี้ไม่ได้ตอบคำถามว่าการตัดสินใจไปทางใดมีผลต่อความพยายามในการปฏิบัติตามหลักการของ SOLID ซึ่งเป็นหัวใจหลักของคำถามนี้
30 java  c#  design  solid 

14
มีเหตุผลที่จะใช้อาร์เรย์เมื่อรายการพร้อมใช้งานหรือไม่? [ปิด]
ดูเหมือนว่าList<T>ใน C # สามารถทำทุกอย่างที่อาเรย์สามารถทำได้และอื่น ๆ อีกมากมายและดูเหมือนว่าในหน่วยความจำและประสิทธิภาพก็มีประสิทธิภาพเช่นเดียวกับอาเรย์ เหตุใดฉันจึงต้องการใช้อาร์เรย์ เห็นได้ชัดว่าฉันไม่ได้ถามเกี่ยวกับกรณีที่ API หรือข้อ จำกัด ภายนอกอื่น ๆ (เช่นฟังก์ชั่นหลัก) ต้องการให้ฉันใช้อาร์เรย์ ... ฉันแค่ถามเกี่ยวกับการสร้างโครงสร้างข้อมูลใหม่ในรหัสของฉันเอง
30 c#  data-types 

8
รายชื่อพจนานุกรม
ดังนั้นฉันจึงเจองานDictionary<int, int>วันนี้ สิ่งนี้ดูแปลกสำหรับฉันเพราะฉันอาจจะใช้List<int>แทน มีความแตกต่างและจะมีกรณีการใช้งานที่โครงสร้างหนึ่งจะเป็นที่ต้องการมากกว่าอีกหรือไม่

3
อะไรคือข้อดีและข้อเสียในแนวทางของ C #, Java และ Scala to Closures / Lambdas / …?
ฉันสงสัยว่าสิ่งที่แตกต่างระหว่างดำเนินการทางเทคนิค C # และสกาล่าและวิธีการแก้ปัญหาทั้งเปรียบเทียบกับความคิดของการดำเนินงานและความกังวลเปล่งออกมาในอีเมลPeek อดีตแลมบ์ดาโดยไบรอันเก๊ส่งไปยังรายการทางไปรษณีย์ของโครงการแลมบ์ดา (JSR 335) ? จากอีเมล: เราสำรวจถนนของ "บางที lambdas ควรจะเป็นอินสแตนซ์ของคลาสภายในซึ่งจะง่ายมาก" แต่ในที่สุดก็มาถึงตำแหน่งของ "ฟังก์ชั่นเป็นทิศทางที่ดีกว่าสำหรับอนาคตของภาษา" และต่อไป: มุมมอง lambdas-are-objects ของโลกขัดแย้งกับอนาคตที่เป็นไปได้นี้ มุมมอง lambdas-are-function ของโลกไม่ได้และการรักษาความยืดหยุ่นนี้เป็นหนึ่งในจุดที่สนับสนุน lambdas ที่ไม่ทำให้เกิดภาระด้วยแม้แต่ลักษณะที่ปรากฏของวัตถุ สรุป: Lambdas-are-function เปิดประตู Lambdas-are-objects ปิดพวกเขา เราต้องการเห็นประตูที่เปิดทิ้งไว้ และความคิดเห็นบางส่วนจากบุคคลในเธรด Redditพูดว่า: จริง ๆ แล้วฉันส่งอีเมลถึง Neal Gafter เกี่ยวกับเรื่องนี้และความเข้าใจที่ จำกัด ของฉันเกี่ยวกับการอธิบายของเขา C # และการออกแบบ Java ในปัจจุบันค่อนข้างคล้ายกับที่ผู้ได้รับมอบหมายเป็นวัตถุจริงและไม่ใช่ประเภทการทำงาน ดูเหมือนว่าเขาเชื่อว่า Java ควรเรียนรู้จากข้อเสียของแกะแกะ C # …
30 c#  java  scala  lambda  closures 

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