我正在研究用戶必須在 A 到 AZ 之間插入字符的專案。前任。如果用戶輸入這樣的值
欄位 1 = AA
欄位 2= AD
然后我必須生成AA,AB,AC,AD。
uj5u.com熱心網友回復:
string start = "AD", end = "BC";
int p1 = int.Parse(string.Concat((int)start[0], (int)start[1]));
int p2 = int.Parse(string.Concat((int)end[0], (int)end[1]));
var range = Enumerable.Range('A', 26);
var ret = string.Join(",", from r in range
from r2 in range
where int.Parse(string.Concat(r, r2)) >= p1
&& int.Parse(string.Concat(r, r2)) <= p2
select string.Concat((char)r, (char)r2));
Console.WriteLine(ret);
輸出: AD,AE,AF,AG,AH,AI,AJ,AK,AL,AM,AN,AO,AP,AQ,AR,AS,AT,AU,AV,AW,AX,AY,AZ,BA,BB,BC
解釋:
取一對中每個字符的數值并用字串連接它們,例如
"AD" = "65" "68" = 6568 (lower bound)
"BC" = "66" "67" = 6667 (upper bound)
從生成的對 AA 到 ZZ 的串列中,使用上述相同的公式比較數值以獲得所需的結果
"AA" = "65" "65" = 6565 (outside bound)
"AB" = "65" "65" = 6566 (outside bound)
...
"AD" = "65" "68" = 6568 (inside bound)
...
"BD" = "66" "68" = 6668 (outside bound)
uj5u.com熱心網友回復:
一個簡單的嵌套回圈應該可以做到。就像是:
var alphabets = new List<string>();
for(int i = 65;i< 65 26;i )
for(int j = 65;j< 65 26;j )
alphabets.Add($"{(char)i}{(char)j}");
uj5u.com熱心網友回復:
這應該可以獲得您期望的值
public static void combination() {
string[] letters = { "a", "b", "c", "d"... };
List<string> combinations = new List<string>();
for (int i = 0; i < letters.Length; i )
{
for (int j=0; j<letters.Length; j )
{
combinations.Add(letters[i] letters[j]);
}
}
}
uj5u.com熱心網友回復:
終于問題解決了。分享我對 Angular 代碼的回答。希望它也能幫助其他人。
將數字轉換為字符的函式
numberToCol(num) {
var str = '', q, r;
while (num > 0) {
q = (num - 1) / 26;
r = (num - 1) % 26
num = Math.floor(q)
str = String.fromCharCode(65 r) str;
}
return str;
}
將字符轉換為數字的函式
GenerateAlphabeticArray(letter1, letter2) {
let var1 = letter1.split('').reduce((r, a) => r * 26 parseInt(a, 36) - 9, 0);
let var2 = letter2.split('').reduce((r, a) => r * 26 parseInt(a, 36) - 9, 0);
let a = [];
for (let i = var1; i <= var2; i ) {
a.push(this.numberToCol(i))
}
console.log("AtoZData = ", a);
return a;
}
呼叫功能
this.GenerateAlphabeticArray('AA', 'AD');
輸出
['AA', 'AB', 'AC', 'AD']
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/376376.html
上一篇:在C#中更新CSV的列值
