Как написать более одной записи?
Добрый день всем, я разработал код, с помощью которого я ищу значения, но только одно значение когда-либо записывается, я думаю, что он должен был быть построен с помощью stringbuilder, но я не знаю, как это сделать. Кто-нибудь может мне помочь, пожалуйста
Что я уже пробовал:
using System; using System.IO; using System.Windows.Forms; namespace mise2 { public partial class Form1 : Form { private String filePath_input = string.Empty; public Form1() { InitializeComponent(); richTextBox1.AutoSize = true; } private void button1_Click(object sender, EventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.InitialDirectory = @"C:\Users\"; openFileDialog.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"; openFileDialog.FilterIndex = 2; openFileDialog.RestoreDirectory = true; if (openFileDialog.ShowDialog() == DialogResult.OK) { filePath_input = openFileDialog.FileName; textBox1.Text = filePath_input; } } private string FindLineAboveAsterisks(string path) { TextReader sr = File.OpenText(path); return FindLineAboveAsterisks(sr); } private string FindLineAboveAsterisks(TextReader reader) { string result = reader.ReadLine(); string line = string.Empty; while (result is object && (line = reader.ReadLine()) is object) { int startIndex = 21; int length = 9; if (line.Contains("***")) { return result; } { result = line.Substring(startIndex, length); } } return string.Empty; } private void button2_Click(object sender, EventArgs e) { richTextBox1.Text = FindLineAboveAsterisks(filePath_input); } } }
CHill60
Не могли бы вы дать более четкое объяснение того, что этот код пытается сделать
dejf111
Этот код должен быть найден в текстовом документе, который я выбираю в диалоговом окне, затем найдите строку, которая находится над строкой, указывающей "***"далее, он должен обрезать эту строку до выбранных параметров и перечислить все совпадающие в текстовом поле
dejf111
все хорошо, за исключением того, что он перечисляет только один найденный вариант