如何将其转换为字符串?

时间:2018-10-11 18:21:50

标签: c#

我想从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);

4 个答案:

答案 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

来连接任意长的字符串集