在C 中生成唯一的字串和數字

2022-03-28 09:59:33 字數 610 閱讀 1409

當我們想要獲得乙個唯一的key的時候,通常會想到guid。這個key非常的長,雖然我們在很多情況下這並不是個問題。但是當我們需要將這個36個字元的字串放在url中時,會使的url非常的醜陋。

想要縮短guid的長度而不犧牲它的唯一性是不可能的,但是如果我們能夠接受乙個16位的字串的話是可以做出這個犧牲的。

我們可以將乙個標準的guid 21726045-e8f7-4b09-abd8-4bcc926e9e28  轉換成短的字串 3c4ebc5f5f2c4edc

下面的方法會生成乙個短的字串,並且這個字串是唯一的。重複1億次都不會出現重複的,它也是依照guid的唯一性來生成這個字串的。

private

string

generatestringid()

return

string.format("

", i -datetime.now.ticks);

}

如果你想生成乙個數字序列而不是字串,你將會獲得乙個19位長的序列。下面的方法會把guid轉換為int64的數字序列。

private

long

generateintid()

C 生成唯一的字串或者數字

當我們想要獲得乙個唯一的key的時候,通常會想到guid。這個key非常的長,雖然我們在很多情況下這並不是個問題。但是當我們需要將這個36個字元的字串放在url中時,會使的url非常的醜陋。想要縮短guid的長度而不犧牲它的唯一性是不可能的,但是如果我們能夠接受乙個16位的字串的話是可以做出這個犧牲...

C 字串和數字拼接

string str1 str1 9 string str2 str2 9.tostring 我們先看第一行 的il 我直接截圖 可以看出 第一行 的 str1 9在執行是 會完成一次裝箱行為 il 中的box 我們再看第二行 的il 而第二行 種的9.tostring 並沒有發生裝箱行為 它實際呼...

C 中處理字串和數字

原文出處 http www.cnblogs.com wayfarer archive 2004 05 17 9950.html 在csdn上有人問 c 中有沒有判斷乙個string型別變數是否為數字型別的系統函式 如vb中的isnumeric s 答案肯定是沒有的。有人提議用int.parse st...