我正在撰写一个可以将缩写转换为实际含义的网络表单。我正在使用.csv文件,其中两列用';'分隔(如果需要可以改变)。第一列将是用户输入(因此缩写),第二列将是输出(含义)。我对C#很新,所以我有点挣扎,但我觉得我正走在正确的道路上
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
namespace WebApplication1
{
public partial class WebForm1 : System.Web.UI.Page
{
private Dictionary<string, string> _dictionary = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase); // let's ignore case when comparing.
protected void Page_Load(object sender, EventArgs e)
{
using (var reader = new StreamReader(File.OpenRead(@"C:/dictionary.csv")))
{
while (!reader.EndOfStream)
{
string[] tokens = reader.ReadLine().Split(';');
_dictionary[tokens[0]] = tokens[1];
}
}
}
protected void Button1_Click(object sender, EventArgs e)
{
string output;
if(_dictionary.TryGetValue(TextBox1, out TextBox2))
return TextBox2;
throw new Exception("Input not recognised");
}
}
}
}
非常感谢任何帮助。 webform包含输入(textbox1)按钮和输出(textbox2)
为清晰起见编辑
这不会运行......
答案 0 :(得分:2)
我认为这不是一个好的形式,但是为了简单的使用你应该有效:
protected void Button1_Click(object sender, EventArgs e)
{
string output;
if (_dictionary.TryGetValue(TextBox1.Text, out output))
{
TextBox2.Text = output;
}
else
{
TextBox2.Text = "Input not recognised";
}
}