@OrangeKeks

Как читать данные из файла?

6571de6562658616503420.png
Как прочитать эти данные, а затем присвоить переменным эти значения через StreamReader.
  • Вопрос задан
  • 174 просмотра
Решения вопроса 2
mindtester
@mindtester Куратор тега C#
http://iczin.su/hexagram_48
что то примерно так (без теста)..

var lst = File.ReadAllLines("bla..bla..bla");
foreach (var s in lst) {var toks = (s).Split(':'); ...;};
при работе с чистым текстом StreamReader в общем то и не нужен (!! важно, при больших объёмах файлов, чтение целиком, может критично расходовать память, в этом случае снова см ответ Василий Банников)
по большой просьбе автора вопроса ))
namespace list_and_parse
{
    internal static class Program
    {
        internal static void Main(string[] args)
        {
            var lst = File.ReadAllLines("FileName.conf");
            foreach (var s in lst)
            {
                var toks = s.Split(":");
                string check() => (toks[0] == "Volume", toks[0] == "IsMarkers", toks[0] == "Mouse") switch
                {
                    (true, _, _) => $"Volume={float.Parse(toks[1])}",
                    (_, true, _) => $"IsMarkers={bool.Parse(toks[1])}",
                    (_, _, true) => $"Mouse={int.Parse(toks[1])}",
                    _ => ".. ups (("
                };
                check().print();
            };
        }
        internal static void print(this string s) => Console.WriteLine(s);
    }
}
... чуть ближе к реальному применению ))
namespace list_and_parse
{
    internal static class Program
    {
        internal static void Main(string[] args)
        {
            var Volume = 0.0;
            var IsMarkers = false;
            var Mouse = 0;

            var lst = File.ReadAllLines("FileName.conf");
            foreach (var s in lst)
            {
                var toks = s.Split(":");
                string check() => (toks[0] == "Volume", toks[0] == "IsMarkers", toks[0] == "Mouse") switch
                {
                    (true, _, _) => $"Volume=>{double.TryParse(toks[1], out Volume)}",
                    (_, true, _) => $"IsMarkers=>{bool.TryParse(toks[1], out IsMarkers)}",
                    (_, _, true) => $"Mouse=>{int.TryParse(toks[1], out Mouse)}",
                    _ => ".. ups (("
                };
                check().print();
            };
            "".print();
            $"Volume={Volume}".print();
            $"IsMarkers={IsMarkers}".print();
            $"Mouse={Mouse}".print();
        }
        internal static void print(this string s) => Console.WriteLine(s);
    }
}
Ответ написан
vabka
@vabka Куратор тега C#
Токсичный шарпист
Построчно читаешь, потом split по двоеточию и Parse
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
AshBlade
@AshBlade Куратор тега C#
Просто хочу быть счастливым
var file = File.OpenRead("path/to/file");
var reader = new StreamReader(file);
// спарсить данные
file.Close();
var fileToWrite = File.Open("path/to/file");
var writer = new StreamWriter(fileToWrite);
// записываешь данные
fileToWrite.Close();
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы