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

กระบวนการแจกแจงค่าตัวอย่างเช่นจากคอลเล็กชันบางส่วน

10
ความแตกต่างระหว่าง Java Enumeration และ Iterator
อะไรคือความแตกต่างที่แน่นอนระหว่างสองอินเทอร์เฟซนี้? ไม่Enumerationมีประโยชน์มากกว่าการใช้Iterator? หากใครสามารถอธิบายได้อย่างละเอียดบทความอ้างอิงจะได้รับการชื่นชม

6
วิธี Java Enum - ส่งกลับทิศทางตรงกันข้าม enum
ฉันต้องการประกาศทิศทาง enum ซึ่งมีวิธีการที่ส่งกลับทิศทางตรงกันข้าม (ต่อไปนี้ไม่ถูกต้องตามไวยากรณ์กล่าวคือไม่สามารถสร้างอินสแตนซ์ enums ได้ แต่แสดงให้เห็นถึงจุดของฉัน) เป็นไปได้ใน Java หรือไม่? นี่คือรหัส: public enum Direction { NORTH(1), SOUTH(-1), EAST(-2), WEST(2); Direction(int code){ this.code=code; } protected int code; public int getCode() { return this.code; } static Direction getOppositeDirection(Direction d){ return new Direction(d.getCode() * -1); } }
113 java  enums  enumeration 

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

6
() ฉันจะนับรายการใน enum ได้อย่างไร?
คำถามนี้เกิดขึ้นในใจของฉันเมื่อฉันมีบางอย่างเช่น enum Folders {FA, FB, FC}; และต้องการสร้างอาร์เรย์ของคอนเทนเนอร์สำหรับแต่ละโฟลเดอร์: ContainerClass*m_containers[3]; .... m_containers[FA] = ...; // etc. (การใช้แผนที่มันสวยงามกว่ามากที่จะใช้std::map<Folders, ContainerClass*> m_containers;:) แต่เพื่อกลับไปที่คำถามเดิมของฉัน: ถ้าฉันไม่ต้องการฮาร์ดโค้ดขนาดอาร์เรย์จะมีวิธีคิดว่ามีกี่รายการในโฟลเดอร์หรือไม่? (โดยไม่ต้องอาศัยเช่นFCเป็นรายการสุดท้ายในรายการซึ่งจะอนุญาตบางอย่างเช่นContainerClass*m_containers[FC+1]ถ้าฉันจำไม่ผิด
98 c++  count  enumeration 

8
เอกพจน์หรือพหูพจน์สำหรับการแจงนับ?
คุณใช้เอกพจน์หรือพหูพจน์ในการแจงนับ? ฉันคิดว่ามันสมเหตุสมผลที่สุดกับพหูพจน์ในการประกาศ enum Weekdays { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday } ... แต่ฉันคิดว่ามันสมเหตุสมผลกว่าเมื่อใช้ประเภทเอกพจน์เช่น Weekday firstDayOfWeek = Weekday.Monday; ฉันอ่านคำแนะนำบางแห่งให้ใช้เอกพจน์ที่มี enum และพหูพจน์พร้อมแฟล็ก แต่ฉันต้องการฟังข้อดีและข้อเสียเพิ่มเติม

1
อาร์กิวเมนต์ BOOL * stop สำหรับ enumerateObjectsUsingBlock: ใช้สำหรับอะไร
ช่วงนี้ฉันใช้enumerateObjectsUsingBlock:งานจำนวนมากสำหรับความต้องการการแจงนับอย่างรวดเร็วและฉันมีปัญหาในการทำความเข้าใจการใช้งานBOOL *stopในบล็อกการแจงนับ NSArrayรัฐอ้างอิงระดับ stop: การอ้างอิงถึงค่าบูลีน บล็อกสามารถกำหนดค่าYESเพื่อหยุดการประมวลผลอาร์เรย์เพิ่มเติมได้ stopอาร์กิวเมนต์เป็นข้อโต้แย้งออกเท่านั้น คุณควรตั้งค่าบูลีนนี้เป็นYESภายในบล็อกเท่านั้น ดังนั้นแน่นอนฉันสามารถเพิ่มสิ่งต่อไปนี้ในบล็อกของฉันเพื่อหยุดการแจงนับ: if (idx == [myArray indexOfObject:[myArray lastObject]]) { *stop = YES; } จากสิ่งที่ฉันสามารถบอกได้การไม่ตั้งค่าอย่างชัดเจน*stopให้YESไม่มีผลข้างเคียงเชิงลบใด ๆ การแจงนับดูเหมือนจะหยุดตัวเองโดยอัตโนมัติเมื่อสิ้นสุดอาร์เรย์ ดังนั้นการใช้จึง*stopจำเป็นจริงๆในบล็อก?

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 

9
การลบออกจากอาร์เรย์ระหว่างการแจงนับใน Swift?
ฉันต้องการแจกแจงผ่านอาร์เรย์ใน Swift และลบบางรายการออก ฉันสงสัยว่าสิ่งนี้ปลอดภัยหรือไม่และถ้าไม่ฉันควรจะทำอย่างไร ตอนนี้ฉันจะทำสิ่งนี้: for (index, aString: String) in enumerate(array) { //Some of the strings... array.removeAtIndex(index) }
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.