Можете ли вы, ребята, сказать мне, почему эта программа не меняет мою строку ввода в строчную строку, содержащую только буквы? Я имею в виду, что только часть письма работает, но буквы не меняются на нижний регистр. Когда я пишу ЖЕЛТЫЙ, я должен видеть желтый цвет в окне, но я все еще передаю YELLOW весь верхний регистр в качестве вывода.Простая программа для преобразования строки в нижний регистр и допускать, чтобы только буквы не работали
namespace ConsoleApplication6
{
class czlowiek
{
private string _imie;
private string _nazwisko;
private int _wiek;
public string imie
{
get
{
return _imie;
}
set
{
for (int i = 0; i < value.Length; i++)
{
if (Convert.ToInt32(char.ToLower(value[i])) >= 97 && Convert.ToInt32(char.ToLower(value[i])) <= 122)
_imie += value[i];
}
}
}
public string nazwisko
{
get
{
return _nazwisko;
}
set
{
for (int i = 0; i < value.Length; i++)
{
if (Convert.ToInt32(char.ToLower(value[i])) >= 97 && Convert.ToInt32(char.ToLower(value[i])) <= 122)
_nazwisko += value[i];
}
}
}
public int wiek
{
get
{
if (_wiek < 0 || _wiek > 100)
return 0;
else
return _wiek;
}
set
{
if (value < 0 || value > 100)
Console.WriteLine("Wporwadzona wartość niepoprawna");
else
_wiek = value;
}
}
}
}
и основная программа:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication6
{
class Program
{
static void Main(string[] args)
{
czlowiek admin = new czlowiek();
Console.Write("Podaj swoje imie: ");
admin.imie = Console.ReadLine();
Console.WriteLine("Cześć {0}!", admin.imie);
Console.WriteLine("Podaj swój wiek: ");
admin.wiek = int.Parse(Console.ReadLine());
if (admin.wiek != 0)
Console.Write("Masz {0}", admin.wiek);
Console.ReadLine();
}
}
}
Поскольку вы преобразовать в нижний регистр только в 'if' не в назначении, то вы используете оригинальный' значение [я] ' –
У вас есть упражнение, где вы не можете используйте некоторые интересные функции, такие как String.ToLower(), или вы не знаете об этом? – DonTintoretto
Вы можете упростить сеттер: 'set {_imie = string.Concat (значение.Where (Char.IsLetter). Выбрать (Char.ToLower)); } ' –