Приведение строковых типов - C#
Формулировка задачи:
Подскажите пожалуйста как сделать приведение строковых типов
/*
* Created by SharpDevelop.
* User: asu3
* Date: 22.10.2014
* Time: 14:34
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.IO;
namespace lab7
{
class Program
{
public static void Main(string[] args)
{
try{
StreamReader f = new StreamReader("lab7.txt");
String s;
Char[] ar = new Char[] {'a', 'e', 'i', 'o', 'u', 'y'};
while( (s = f.ReadLine()) != null) {
for(int i = 0; i<s.Length; i++) {
if( (s[i]==' ') || (i==0) ) {
if(i!=0)
i++;
for(int j=0; j<ar.Length; j++) {
if(s[i]==ar[j]) // к s[i] нужно применить метод ToLower
s[i] = ar[j]; // ошибка
}
}
}
Console.WriteLine(s);
}
f.Close();
}catch(FileNotFoundException e){
Console.WriteLine(e.Message);
Console.WriteLine("Проверьте правильность имени файла!");
return;
}
Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
}
}
}Решение задачи: «Приведение строковых типов»
textual
Листинг программы
Char[] chars = new Char[] { 'A', 'E', 'I', 'O', 'U', 'Y' };
using(var f = new StreamReader("p:\\11.txt"))
while (f.Peek() > 0)
{
bool flag = true;
char[] line = f.ReadLine().ToCharArray();
for (int i = 0; i < line.Length; i++)
{
flag |= Char.IsWhiteSpace(line[i]);
for (int j = 0; flag && j < chars.Length; j++)
{
flag &= chars[j] != line[i];
if (!flag)
{
line[i] = Char.ToLower(line[i]);
}
}
}
Console.WriteLine(new String(line));
}