Как и читать, и запишите файл в C#

Истина и Ложь являются логическими значениями. То есть их значения известны и задаются языком. Представьте, что у вас есть что-то вроде:

while 1 < 2:

«1» и «2» - целочисленные литеральные значения. Выражение никогда не меняется, результаты всегда будут одинаковыми. В этом случае результатом является логическое значение, равное True.

Таким образом, цикл while, который имеет «True» или любое неизменное истинное выражение, такое как 1 < 2, в качестве условия, будет хотеть запустить «навсегда», потому что он никогда не провалит этот тест. Единственный способ остановить такой цикл - это сгенерировать исключение клавиатуры (обычно нажатием клавиши «Ctrl-C»), или создать где-то неперехваченное исключение внутри кода, или заставить какой-то фрагмент кода выполнить оператор break . [+1112]

В вашем примере вы складываете числа в given_list2 и останавливаетесь (выполняя break), когда встречаете отрицательное число. Таким образом, положительные числа суммируются, что составляет 17.

Аналогично, цикл while, который имеет «False» или любое неизменное ложное выражение в качестве условия, никогда не будет выполняться, потому что самый первый тест while 1 > 2 завершится неудачно, и цикл будет прервать. Это приводит к тому, что внутренний код не выполняется.

В вашем примере вы начинаете с total3 = 0 и никогда не запускаете какой-либо код, поэтому он остается равным 0.

66
задан Peter Mortensen 24 April 2015 в 13:25
поделиться

2 ответа

Вам нужен единый поток, открытый и для чтения и для записи.

FileStream fileStream = new FileStream(
      @"c:\words.txt", FileMode.OpenOrCreate, 
      FileAccess.ReadWrite, FileShare.None);
77
ответ дан MikeW 24 November 2019 в 14:51
поделиться
var fs = File.Open("file.name", FileMode.OpenOrCreate, FileAccess.ReadWrite);
var sw = new StreamWriter(fs);
var sr = new StreamReader(fs);

...

fs.Close();
//or sw.Close();

Ключевая вещь состоит в том, чтобы открыть файл с FileAccess. Флаг ReadWrite. Можно затем создать любого Потоковую/Строку/Двоичный файл Читателя/Устройства записи, Вам нужно использование начального FileStream.

34
ответ дан ScottS 24 November 2019 в 14:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: