C#输入一组字母 ,输出每个字母前一个字母
时间: 2024-05-04 09:20:44 浏览: 12
可以字符数组和循环来实现这个功能,具体代码如下:
```csharp
using System;
class Program
{
static void Main(string[] args)
{
Console.Write("请输入一组字母:");
string input = Console.ReadLine();
char[] letters = input.ToCharArray(); // 将输入字符串转换为字符数组
for (int i = 0; i < letters.Length; i++)
{
char prevLetter = (char)(letters[i] - 1); // 计算前一个字母
Console.Write(prevLetter);
}
Console.ReadKey();
}
}
```
输入一组字母后,程序会将其转换为字符数组,然后遍历数组,对于每个字母计算前一个字母,并输出到控制台。注意,这里假设输入的字母都是大写字母。如果需要支持小写字母,可以在计算前一个字母时进行一些额外的判断和处理。
相关问题
C#一组字符串数组如何让每一个字母首字母大写
你可以使用 C# 中的 `CultureInfo` 和 `TextInfo` 类来将每个字符串中的单词首字母大写。这里提供一个示例代码来实现这个功能:
```csharp
using System.Globalization;
...
string[] strings = { "hello world", "good morning", "how are you" };
TextInfo ti = CultureInfo.CurrentCulture.TextInfo;
foreach (string s in strings)
{
string[] words = s.Split(' ');
for (int i = 0; i < words.Length; i++)
{
words[i] = ti.ToTitleCase(words[i]);
}
string result = string.Join(" ", words);
Console.WriteLine(result);
}
```
这个代码会输出以下结果:
```
Hello World
Good Morning
How Are You
```
这里使用 `CultureInfo.CurrentCulture.TextInfo` 获取当前系统的文化信息,然后使用 `ToTitleCase` 方法将每个单词的首字母大写。最后使用 `string.Join` 方法连接每个单词,并在它们之间添加一个空格来形成一个新的字符串。
C# 写一个string类的扩展方法,举例说明
好的,下面我以一个字符串中单词首字母大写的方法为例,来说明如何编写一个string类的扩展方法。
```csharp
public static class StringExtensions
{
public static string ToTitleCase(this string str)
{
if (string.IsNullOrEmpty(str))
{
return str;
}
var words = str.Split(' ');
for (int i = 0; i < words.Length; i++)
{
var word = words[i];
if (string.IsNullOrEmpty(word))
{
continue;
}
words[i] = word.Substring(0, 1).ToUpper() + word.Substring(1).ToLower();
}
return string.Join(" ", words);
}
}
```
这个扩展方法将一个字符串中的每个单词的首字母大写,其余字母小写,返回一个新的字符串。使用时,只需要在string实例上调用该方法即可:
```csharp
string str = "hello, world! welcome to C#";
string titleCaseStr = str.ToTitleCase();
Console.WriteLine(titleCaseStr); // 输出:Hello, World! Welcome To C#
```
在这个例子中,我们首先将字符串按照空格分割成单词数组,然后遍历每个单词,将首字母大写,其余字母小写。最后再将单词数组拼接成一个字符串返回。需要注意的是,扩展方法的命名规则是以`this`关键字后面的类型名作为方法名的前缀,以便于调用。