Имейте задание, позволяющее пользователю вводить слово в C#, а затем отображать это слово с первым и третьим символами, измененными на верхний регистр. Код следует:Использование string.ToUpper на подстроке
namespace Capitalizer
{
class Program
{
static void Main(string[] args)
{
string text = Console.ReadLine();
char[] delimiterChars = { ' ' };
string[] words = text.Split(delimiterChars);
string Upper = text.ToUpper();
Console.WriteLine(Upper);
Console.ReadKey();
}
}
}
Это, конечно, генерирует все слово в верхнем регистре, чего я не хочу. Кажется, я не могу сделать text.ToUpper (0,2), и даже тогда это будет использовать первые три буквы. Единственное решение, о котором я могу сейчас думать, что бы слово отображалось на одной строке (и я не знаю, работает ли оно), - это перемещение заглавных букв и строчных букв в массив символов и попытаться получить это, чтобы напечатать все значения в измененный порядок.
где вы используете подстроку ..? [MSString SubString Function] (https://msdn.microsoft.com/en-us/library/system.string.substring%28v=vs.110%29.aspx) – MethodMan
Это более сложный вопрос, чем вы знаете. Unicode - кодировка переменной длины, поэтому первый и третий видимый «символ» могут быть не текстовыми [0], а текстом [2]. –
_ «с первым и третьим символами, измененными на верхний регистр» _ - вы правильно это записывали? Если да, то почему вы разделяете строку? Что «слова» связаны с этим вопросом? И наоборот, если «слова» релевантны, а) почему бы вам не использовать его в коде, и б) объясните в своем вопросе _, как это уместно и каковы фактические требования здесь. –