- Регистрация
- 1 Мар 2015
- Сообщения
- 1,481
- Баллы
- 155
I’m working on a C# Windows Forms application and I’m looking for suggestions to improve my code. Specifically:
What’s the best way to handle file reading and writing, especially when working with large files?
How can I optimize the filtering logic in my app (e.g., searching for movie titles by year)?
Any tips for improving performance or user experience in a Windows Forms app like this?
Any feedback would be really appreciated. Thanks in advance! ?
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace oscar
{
public partial class Form1 : Form
{
class Opera
{
public string azon { get; set; }
public string cim { get; set; }
public int ev { get; set; }
public int dij { get; set; }
public int jelol { get; set; }
};
static List<Opera> operak = new List<Opera>();
public Form1()
{
InitializeComponent();
}
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
StreamReader sr = new StreamReader("oscar.csv");
sr.ReadLine();
while (!sr.EndOfStream)
{
string[] sor = sr.ReadLine().Split(';');
Opera o = new Opera();
o.azon = sor[0];
o.cim = sor[1];
o.ev = int.Parse(sor[2]);
o.dij = int.Parse(sor[3]);
o.jelol = int.Parse(sor[4]);
operak.Add(o);
}
sr.Close();
foreach (var item in operak)
{
ListViewItem elem = new ListViewItem(item.azon);
elem.SubItems.Add(item.cim);
elem.SubItems.Add(item.ev.ToString());
elem.SubItems.Add(item.dij.ToString());
elem.SubItems.Add(item.jelol.ToString());
listView1.Items.Add(elem);
}
}
private void button2_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();
List<string> szurtcimek = new List<string>();
for (int i = 0; i < operak.Count; i++)
{
if (int.Parse(textBox1.Text) == operak.ev)
{
szurtcimek.Add(operak.cim);
}
}
foreach (var item in szurtcimek)
{
listBox1.Items.Add(item);
}
}
private void button3_Click(object sender, EventArgs e)
{
StreamWriter iro = new StreamWriter("oscarok.txt");
foreach (var item in listBox1.Items)
{
iro.WriteLine(item);
}
iro.Close();
MessageBox.Show("Sikeres fájlbaírás", "Siker");
}
private void button4_Click(object sender, EventArgs e)
{
string message = "Biztossan kiszeretne lépni?";
string title = "Kérdés";
MessageBoxButtons buttons = MessageBoxButtons.
No;
DialogResult result = MessageBox.Show(message, title, buttons);
if (result == DialogResult.
)
{
this.Close();
}
}
}
}
What’s the best way to handle file reading and writing, especially when working with large files?
How can I optimize the filtering logic in my app (e.g., searching for movie titles by year)?
Any tips for improving performance or user experience in a Windows Forms app like this?
Any feedback would be really appreciated. Thanks in advance! ?
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace oscar
{
public partial class Form1 : Form
{
class Opera
{
public string azon { get; set; }
public string cim { get; set; }
public int ev { get; set; }
public int dij { get; set; }
public int jelol { get; set; }
};
static List<Opera> operak = new List<Opera>();
public Form1()
{
InitializeComponent();
}
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
StreamReader sr = new StreamReader("oscar.csv");
sr.ReadLine();
while (!sr.EndOfStream)
{
string[] sor = sr.ReadLine().Split(';');
Opera o = new Opera();
o.azon = sor[0];
o.cim = sor[1];
o.ev = int.Parse(sor[2]);
o.dij = int.Parse(sor[3]);
o.jelol = int.Parse(sor[4]);
operak.Add(o);
}
sr.Close();
foreach (var item in operak)
{
ListViewItem elem = new ListViewItem(item.azon);
elem.SubItems.Add(item.cim);
elem.SubItems.Add(item.ev.ToString());
elem.SubItems.Add(item.dij.ToString());
elem.SubItems.Add(item.jelol.ToString());
listView1.Items.Add(elem);
}
}
private void button2_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();
List<string> szurtcimek = new List<string>();
for (int i = 0; i < operak.Count; i++)
{
if (int.Parse(textBox1.Text) == operak.ev)
{
szurtcimek.Add(operak.cim);
}
}
foreach (var item in szurtcimek)
{
listBox1.Items.Add(item);
}
}
private void button3_Click(object sender, EventArgs e)
{
StreamWriter iro = new StreamWriter("oscarok.txt");
foreach (var item in listBox1.Items)
{
iro.WriteLine(item);
}
iro.Close();
MessageBox.Show("Sikeres fájlbaírás", "Siker");
}
private void button4_Click(object sender, EventArgs e)
{
string message = "Biztossan kiszeretne lépni?";
string title = "Kérdés";
MessageBoxButtons buttons = MessageBoxButtons.
No;DialogResult result = MessageBox.Show(message, title, buttons);
if (result == DialogResult.
){
this.Close();
}
}
}
}