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

This is a viewer only at the moment see the article on how this works.

To update the preview hit Ctrl-Alt-R (or ⌘-Alt-R on Mac) or Enter to refresh. The Save icon lets you save the markdown file to disk

This is a preview from the server running through my markdig pipeline

C#

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

Friday, 13 September 2024

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

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

إحتجتُ إلى هذا من أجل مولد مولدات 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>) من هذا للحصول على دليل فعلي يمكن استخدامه في قاعدة بيانات أو غير ذلك من حالات الاستخدام المحدد للخطوط التوجيهية.

logo

©2024 Scott Galloway