【发布时间】:2014-05-27 18:21:10
【问题描述】:
给定一个字符串AAB,我如何返回一个字符串AAC?我已尝试在此答案中使用一些方法,但在尝试将 int 转换为 char 或反之亦然时遇到错误。
public string GetNextPrefix(string prefixToIncrement)
{
char[] digits = prefixToIncrement.ToCharArray();
for (int i = previousPrefix.Length - 1; i >= 0; --i)
{
if (digits[i] == 'Z')
{
digits[i] = 'A';
}
else
{
digits[i] = digits[i] + 1; //error here
break;
}
}
return new String(digits);
}
更新:呵呵。有时,只要我在这里发帖,答案就在我发帖的时候出现。错误是:
Cannot covert source type 'int' to target type 'char'.
我通过将该行更改为:
digits[i] = (char) (digits[i] + 1);
【问题讨论】:
-
您遇到的实际错误是什么?它可能包含有关如何修复它的提示。
-
以前没有用c#写过,但是错误的行会产生什么样的错误呢?这也会增加字符串中的所有字母,不是吗?我认为您需要另一个参数来告诉您要增加哪个字符。
-
我添加了一个编辑。在我发布问题后它就来了。
-
不要将解决方案添加到问题中,发布自我答案。请参阅faq。
-
@HenkHolterman 我愿意,但我会接受 Flat Eric 提供的答案。