رتّب النسق من a تنفيذ. (العربية (Arabic))

رتّب النسق من a تنفيذ.

Friday, 13 September 2024

//

1 minute read

الوحدات الصغيرة

صغيرة ولكن من الممكن أن تكون حلاً مفيداً لمشكلة كنت أواجهها تحديداً، كيفية توليد واجهة من إدخال سلسلة نصية حيث أن المسند صالح دائماً لكنه فريد لأي سلسلة إدخال.

إحتجتُ إلى هذا من أجل مولد مولدات RSSSSS حيث أردت توليد نموذج لكل عنصر في التلقيم والذي كان قابلاً للتكرار وفريداً لكل عنصر.

واتضح أن XxHash128 هو نوع من الكمال لهذا كما أنه يعطي دائما a 128 بت (أو 16 بايت) hash. هذا يعني أنّه يمكن استخدامه لتوليد رمز تعريفي من مدخل سلسلة نصي بدون 'array'. koby through.

     public  static string ToGuid(this string  name)
    {
        var buf = Encoding.UTF8.GetBytes(name);
        var guid = XxHash128.Hash(buf);
        var guidS =  string.Format("{0:X2}{1:X2}{2:X2}{3:X2}-{4:X2}{5:X2}-{6:X2}{7:X2}-{8:X2}{9:X2}-{10:X2}{11:X2}{12:X2}{13:X2}{14:X2}{15:X2}", 
            guid[0], guid[1], guid[2], guid[3], guid[4], guid[5], guid[6], guid[7], guid[8], guid[9], guid[10], guid[11], guid[12], guid[13], guid[14], guid[15]);
        return guidS.ToLowerInvariant();
    }

هذه طريقة بسيطة للتمديد التي تأخذ إدخال سلسلة نصية وترجع داليد. الـ XxHash128 من System.IO.Hashing مُهمّة مكانيّة.

يمكنك بطبيعة الحال استخدام أي خوارزمية الهامش التي تعطي هاش 128 بت. الـ XxHash128 هو مجرد اختيار جيد كما أنه سريع ويعطي توزيع جيد لقيم البعثرة.

يمكنك أيضاً أن تعيد new Guid(<string>) من هذا للحصول على دليل فعلي يمكن استخدامه في قاعدة بيانات أو غير ذلك من حالات الاستخدام المحدد للخطوط التوجيهية.

Finding related posts...
logo

© 2026 Scott Galloway — Unlicense — All content and source code on this site is free to use, copy, modify, and sell.