
测试文件内容:
a=2+3*2; b=2*(2+3);
浏览按钮事件处理程序:
PHP网络编程技术详解由浅入深,全面、系统地介绍了PHP开发技术,并提供了大量实例,供读者实战演练。另外,笔者专门为本书录制了相应的配套教学视频,以帮助读者更好地学习本书内容。这些视频和书中的实例源代码一起收录于配书光盘中。本书共分4篇。第1篇是PHP准备篇,介绍了PHP的优势、开发环境及安装;第2篇是PHP基础篇,介绍了PHP中的常量与变量、运算符与表达式、流程控制以及函数;第3篇是进阶篇,介绍
386
<p style="margin-bottom: 7px;"> private void button_browse_Click(<a href="http://www.php.cn/wiki/60.html" target="_blank">object</a> s<a href="http://www.php.cn/wiki/1048.html" target="_blank">end</a>er, EventArgs e)<br/> {<br/> Open<a href="http://www.php.cn/wiki/1313.html" target="_blank">File</a>Dialog fbd = <a href="http://www.php.cn/wiki/165.html" target="_blank">new</a> OpenFileDialog();<br/> fbd.Title = "请选择一个文件:";<br/> fbd.CheckFileExists = true;<br/> fbd.CheckPathExists = true;<br/> fbd.Filter = "*.txt(文本文件)|*.txt|*.*(所有文件)|*.*";<br/> fbd.FileName = Environment.GetFolderPath(Environment.SpecialFolder.MyComputer);<br/> <a href="http://www.php.cn/wiki/109.html" target="_blank">if</a> (fbd.ShowDialog() == System.Windows.<a href="http://www.php.cn/wiki/125.html" target="_blank">For</a>ms.DialogResult.OK)<br/> {<br/> textBox_save<a href="http://www.php.cn/wiki/1275.html" target="_blank">Dir</a>.Text = fbd.FileName;<br/> try<br/> {<br/> FileStream fs = new FileStream(fbd.FileName, FileMode.Open, FileAccess.Read);<br/> StreamReader sr = new StreamReader(fs);<br/> <a href="http://www.php.cn/wiki/121.html" target="_blank">while</a> (!sr.EndOfStream)<br/> {<br/> <a href="http://www.php.cn/wiki/57.html" target="_blank">string</a> line = sr.<a href="http://www.php.cn/wiki/691.html" target="_blank">ReadLine</a>();<br/> analyse(line);<br/> }<br/> }<br/> catch (<a href="http://www.php.cn/wiki/265.html" target="_blank">Exception</a> ex)<br/> {<br/> MessageBox.Show("错误:" + ex.Message + "\r\n堆栈:" + ex.StackTrace);<br/> }<br/> }<br/> }<br/></p>分析一行表达式:
private void analyse(string line)
{
//以分号作为结束符,支持一行内写多个语句
string[] expA = line.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
for (int i = 0; i < expA.Length; i++)
{
analyseExpA(expA[i]);
}
}计算一条表达式:
private void analyseExpA(string expA)
{
string[] expB = expA.Split(new string[] { "=" }, StringSplitOptions.RemoveEmptyEntries);
for (int i = 0; i < expB.Length; i++ )
{
Regex reg = new Regex("[a-zA-Z]");
if (!reg.IsMatch(expB[i]))
{
object obj = EvalExpress(expB[i]);
if (obj != null)
{
textBox1.Text += expA + " = " + obj.ToString() + "\r\n";
}
else
{
textBox1.Text += expA + ",无法识别的表达式\r\n";
}
}
}
}以上就是详细介绍C#数学运算表达式解释器的示例代码的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号