當我們想要獲得乙個唯一的key的時候,通常會想到guid。這個key非常的長,雖然我們在很多情況下這並不是個問題。但是當我們需要將這個36個字元的字串放在url中時,會使的url非常的醜陋。
想要縮短guid的長度而不犧牲它的唯一性是不可能的,但是如果我們能夠接受乙個16位的字串的話是可以做出這個犧牲的。
我們可以將乙個標準的guid 21726045-e8f7-4b09-abd8-4bcc926e9e28 轉換成短的字串 3c4ebc5f5f2c4edc
下面的方法會生成乙個短的字串,並且這個字串是唯一的。重複1億次都不會出現重複的,它也是依照guid的唯一性來生成這個字串的。
privatestring
generatestringid()
return
string.format("
", i -datetime.now.ticks);
}
如果你想生成乙個數字序列而不是字串,你將會獲得乙個19位長的序列。下面的方法會把guid轉換為int64的數字序列。
privatelong
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...