class LetterMath
{
public static string Frist => "A";
public static string Last => "Z";
/// <summary>
/// 字母自增,默认+1 例:"A" "AA" "AAA"
/// </summary>
/// <param name="letter">要自增的字母</param>
/// <returns></returns>
public static string Add(string letter)
{
string letterTemp = letter.Trim();
int length = letterTemp.Length;
if (length == 0)
{
return Frist;
}
bool isAddChar = true;
bool isContainZ = false;
var lastIndex = 0;
var index = 0;
foreach (char c1 in letterTemp)
{
if (c1 != Last[0])
{
isAddChar = false;
lastIndex = index;
}
if (c1 == Last[0])
isContainZ = true;
index++;
}
char lastChar = letterTemp[length - 1];
if (isAddChar == false)
{
if (!isContainZ)
{
return letterTemp.Substring(0, length - 1) + Convert.ToChar(Convert.ToInt32(lastChar) + 1);
}
else
{
var newChar = Convert.ToChar(Convert.ToInt32(letterTemp[lastIndex]) + 1);
return letterTemp.Substring(0, lastIndex) + newChar.ToString() + Frist;
}
}
else
{
StringBuilder stringBuilder = new StringBuilder();
for (int i = 0; i < length + 1; i++)
{
stringBuilder.Append(Frist);
}
return stringBuilder.ToString();
}
}
/// <summary>
/// 字母自增指定长度
/// </summary>
/// <param name="letter">要自增的字母 例:"A" "AA" "AAA"</param>
/// <param name="count">增加的数量</param>
/// <returns></returns>
public static string AddCount(string letter, int count)
{
for (var i = 0; i < count; i++)
{
letter = Add(letter);
}
return letter;
}
}
c# 英文字母按照Excel列头顺序自增
于 2022-11-30 10:30:12 首次发布