我想从5个字符的字符串中为每个字符添加2个字符。我可以为每个字符添加2,但它会生成数字,即其ASCII值而不是字符。我想将其转换为字符串。
我是C#的初学者,可能不会理解任何复杂的内容,我希望您能提出任何简单的答复。我也不允许使用数组,也不允许使用foreach,我需要能够简单地从5个字母字符串中向每个字符添加2,并打印将通过加2加密创建的新“单词”的结果。
word = Convert.ToString(Console.ReadLine());
Console.Write(word.ElementAt(0) + 2);
Console.Write(word.ElementAt(1) + 2);
Console.Write(word.ElementAt(2) + 2);
Console.Write(word.ElementAt(3) + 2);
Console.Write(word.ElementAt(4) + 2);
答案 0 :(得分:1)
不确定要做什么,但是这里有一个解决方案:https://dotnetfiddle.net/w9QeHo
string word = "Hello";
Console.Write((char)(word.ElementAt(0) + 2));
Console.Write((char)(word.ElementAt(1) + 2));
Console.Write((char)(word.ElementAt(2) + 2));
Console.Write((char)(word.ElementAt(3) + 2));
Console.Write((char)(word.ElementAt(4) + 2));
word = Convert.ToString(Console.ReadLine());
答案 1 :(得分:0)
这是一个有效的示例代码:
- If "IntervalAPriceList" already exist = redirect to: already_exist.php
- If "IntervalAPriceList" not exist = Make Insertion and redirect to: insertion_success.php
$ps = $pdo->prepare("INSERT INTO pricelist (
IntervalAPriceList,
IntervalBPriceList,
EnvoiVersAbonneePriceList,
EnvoiVersAutrePriceList,
RetraitAboneePriceList) VALUES (?,?,?,?,?)");
$params = array(
$IntervalAPriceList,
$IntervalBPriceList,
$EnvoiVersAbonneePriceList,
$EnvoiVersAutrePriceList,
$RetraitAboneePriceList);
$ps->execute($params);
header("location:../app/admin_grille_tarifaire.php");
我对其进行了一些更改,以使其不仅限于5个字符。
答案 2 :(得分:0)
如果您想潜入Linq,可以在一行中完成此操作:
Console.WriteLine(new String(word.Select(x => (char)(x + 2)).ToArray()));
C#中的字符串基本上是char
的集合,因此我们选择每个字符,用+2
对其进行修改,然后获取结果集合并将其转换为构造函数使用的数组String
接受。
它不是对初学者最友好的,但可以证明Linq的功能。
提琴here
答案 3 :(得分:0)
或者,使用StringBuilder
(如果输入字符串很长,效率会更高):
var word = "Hello";
var buffer = new StringBuilder(word.Length);
foreach (var c in word)
{
buffer.Append((char) (c + 2));
}
可以通过调用buffer.ToString()
找到结果:
Console.WriteLine(buffer.ToString());
最好使用StringBuilder