public void ShomMonthYear(DateTime mY)
{
int m, y;
int sum = 0;
string str, coin;
using (StreamReader sr = new StreamReader(path))
{
str = sr.ReadLine();
m = Convert.ToInt32(str[3] + str[4]);
y = Convert.ToInt32(str[6] + str[7] + str[8] + str[9]);
if ((m == mY.Month) && (y == mY.Year))
{
coin = str.Split(' ')[2];
sum += Convert.ToInt32(coin);
}
}
Console.WriteLine("Суммарный расход за указанный месяц составил: " + sum);
}
Необходимо преобразовать месяц даты в int. Входная строка из потока выглядит следующим образом: "12.09.2022 111111" где до пробела идёт дата, а после пробела идёт число. Необходимо из даты сделать число, делаю его преобразуя подстроку "09" в число, но используя Convert.ToInt32 я из "09" получаю не 9 а 105. Как сделать правильно? Или может есть конвертер из строки в дату?
Вообще лучше всего парсить первую часть в datetime, и из него получать нужные данные:
var str = "12.09.2022 111111";
var date = Convert.ToDateTime(str.Split(' ')[0]);
Console.WriteLine(date.Month);
но используя Convert.ToInt32 я из "09" получаю не 9 а 105
Сложение двух char
дает int
равное сумме кодов этих символов.
string str = "12.09.2022 111111";
Console.WriteLine("{0} - {1}", str[3] + str[4], (str[3] + str[4]).GetType().FullName);
Console.WriteLine("{0} - {1}", "" + str[3] + str[4], ("" + str[3] + str[4]).GetType().FullName);
Вывод:
105 - System.Int32
09 - System.String
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Подскажите как решить следующую проблемуЕсть TabControl с несколькими TabItem
Написал скрипт на шарпе, прикрепил его к обьекту игрока, по задумке изображение должно перемещаться по нажатию на стрелку вправо, но ничего...