แรงบันดาลใจจากบทความ WTF รายวันล่าสุด ...
เขียนโปรแกรมหรือฟังก์ชั่นที่ใช้ GUID (สตริงในรูปแบบXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXที่แต่ละ X แทนเลขฐานสิบหก) และส่งออก GUID ที่เพิ่มขึ้นทีละหนึ่ง
ตัวอย่าง
>>> increment_guid('7f128bd4-b0ba-4597-8f35-3a2f2756dfbb')
'7f128bd4-b0ba-4597-8f35-3a2f2756dfbc'
>>> increment_guid('06b86883-f3e7-4f9d-87c5-a047e89a19fa')
'06b86883-f3e7-4f9d-87c5-a047e89a19fb'
>>> increment_guid('89f25f2f-2f7b-4aa6-b9d7-46a98e3cb2cf')
'89f25f2f-2f7b-4aa6-b9d7-46a98e3cb2d0'
>>> increment_guid('89f25f2f-2f7b-4aa6-b9d7-46a98e3cb29f')
'89f25f2f-2f7b-4aa6-b9d7-46a98e3cb2a0'
>>> increment_guid('8e0f9835-4086-406b-b7a4-532da46963ff')
'8e0f9835-4086-406b-b7a4-532da4696400'
>>> increment_guid('7f128bd4-b0ba-4597-ffff-ffffffffffff')
'7f128bd4-b0ba-4598-0000-000000000000'
หมายเหตุ
- ต่างจากในบทความที่เชื่อมโยงการเพิ่ม GUID ที่ลงท้ายด้วย F จะต้อง“ พกพา” เป็นเลขฐานสิบหกก่อนหน้านี้ ดูตัวอย่างด้านบน
- คุณอาจคิดว่าอินพุตจะไม่เป็น
ffffffff-ffff-ffff-ffff-ffffffffffffเช่นนั้น - สำหรับเลขฐานสิบหกที่สูงกว่า 9 คุณสามารถใช้ตัวพิมพ์ใหญ่ (AF) หรือตัวล่าง (af)
- ใช่ guid
0ของอาจเริ่มต้นด้วย - การส่งออกของคุณต้องประกอบด้วยว่า 32 ตัวเลขฐานสิบหกและ 4 ยัติภังค์ในรูปแบบที่คาดหวังรวมทั้งนำใด ๆ ที่จำเป็น
0s - คุณไม่จำเป็นต้องเก็บหมายเลขเวอร์ชันหรือบิตคงที่อื่น ๆ ของ GUID สมมติว่ามันเป็นเพียงจำนวนเต็ม 128 บิตที่ไม่มีบิตใดที่มีความหมายพิเศษ ในทำนองเดียวกัน guid ของจะถือว่าเรียงลำดับในการสั่งซื้อ lexicographical ตรงไปตรงมามากกว่าในการสั่งซื้อของฐานที่ใช้ Windows
GUIDstruct - ถ้าเขียนฟังก์ชั่นการป้อนข้อมูลที่อาจจะมีลำดับ -of-ใด
charชนิดข้อมูล:string,char[],List<char>ฯลฯ
GUIDstruct
89f25f2f-2f7b-4aa6-b9d7-46a98e3cb29fเพื่อให้แน่ใจว่าคำตอบสามารถทำการเปลี่ยนแปลง9 -> aได้
foreach (char ch in theInput)ถูกต้อง