有關 C# 的簡單問題 JAVA里面有evalVB里面有Execute不知道C#里面有什么 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以一段一段的用Convert.ToInt32(myInt[0]FH[0]myInt[1])之后得到试试,我没测试过! 错了是下面这个:Convert.ToInt32(Convert.ToInt32(myInt[0]).ToString()+FH[0]+Convert.ToInt32(myInt[1]).ToString()) 如何在C#里面象js一样可以直接计算字符串的值 http://blog.csdn.net/cuike519/archive/2004/08/29/87929.aspx参考以上网址得以下代码:using System;using System.Drawing;using System.Collections;using System.ComponentModel;using System.Windows.Forms;using System.Data;using System.Text;using System.CodeDom.Compiler;using System.Reflection;using System.IO;using Microsoft.CSharp;namespace CoustomEval{ /// <summary> /// Form1 的摘要说明。 /// </summary> public class Form1 : System.Windows.Forms.Form { private System.Windows.Forms.Button button1; /// <summary> /// 必需的设计器变量。 /// </summary> private System.ComponentModel.Container components = null; public class MyEval { public MyEval() { // // TODO: Add constructor logic here // } public object Eval(string cCharpCode) { CSharpCodeProvider csharpCodeProvider = new CSharpCodeProvider(); ICodeCompiler compiler = csharpCodeProvider.CreateCompiler(); CompilerParameters cp = new CompilerParameters(); cp.ReferencedAssemblies.Add("system.dll"); cp.CompilerOptions = "/t:library"; cp.GenerateInMemory = true; StringBuilder myCode = new StringBuilder(); myCode.Append("using System;"); myCode.Append("namespace CoustomEval{"); myCode.Append("class myLib {private "+cCharpCode+" public int myMethod(){return i;}}"); myCode.Append("}"); CompilerResults cr = compiler.CompileAssemblyFromSource(cp,myCode.ToString()); Assembly assembly = cr.CompiledAssembly; object tmp = assembly.CreateInstance("CoustomEval.myLib"); Type type = tmp.GetType(); MethodInfo mi = type.GetMethod("myMethod"); object result = mi.Invoke(tmp,null); return result; } } public Form1() { // // Windows 窗体设计器支持所必需的 // InitializeComponent(); // // TODO: 在 InitializeComponent 调用后添加任何构造函数代码 // } /// <summary> /// 清理所有正在使用的资源。 /// </summary> protected override void Dispose( bool disposing ) { if( disposing ) { if (components != null) { components.Dispose(); } } base.Dispose( disposing ); } #region Windows 窗体设计器生成的代码 /// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { this.button1 = new System.Windows.Forms.Button(); this.SuspendLayout(); // // button1 // this.button1.Location = new System.Drawing.Point(104, 152); this.button1.Name = "button1"; this.button1.TabIndex = 0; this.button1.Text = "button1"; this.button1.Click += new System.EventHandler(this.button1_Click); // // Form1 // this.AutoScaleBaseSize = new System.Drawing.Size(6, 14); this.ClientSize = new System.Drawing.Size(292, 273); this.Controls.Add(this.button1); this.Name = "Form1"; this.Text = "Form1"; this.ResumeLayout(false); } #endregion /// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] static void Main() { Application.Run(new Form1()); } private void button1_Click(object sender, System.EventArgs e) { int[] myInt = new int[4] {2,4,6,8}; string[] FH = new string[4]{"+","-","*","/"}; string test = myInt[0].ToString() + FH[0].ToString() + myInt[1].ToString() + FH[2].ToString() + myInt[2].ToString(); MyEval eval = new MyEval(); object result = eval.Eval(@"int i = " + test + ";"); MessageBox.Show(result.ToString()); } }} C#的MD5加密后的密文跟其他的密文不一样!怎么回事! 如何利用System.Web.Services.Description.ServiceDescription解析WSDL 如何获取当前文件的上级目录 有GIS相关知识的朋友请进 求stream的拷贝 绑定了信息,修改确一点反应也没有,这是为什么 头大了高手进!!!!!!!! C#中拷贝的难题~~ Ftp 命令 NLST 如何使用? 做类似资源管理器的程序右边文件夹列表应该用什么控件?请高手指教。 请教 C#动态网页技术
Convert.ToInt32(myInt[0]FH[0]myInt[1])之后得到
试试,我没测试过!
Convert.ToInt32(Convert.ToInt32(myInt[0]).ToString()+FH[0]+Convert.ToInt32(myInt[1]).ToString())
http://blog.csdn.net/cuike519/archive/2004/08/29/87929.aspx
参考以上网址得以下代码:
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Text;
using System.CodeDom.Compiler;
using System.Reflection;
using System.IO;
using Microsoft.CSharp;
namespace CoustomEval
{
/// <summary>
/// Form1 的摘要说明。
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.Button button1;
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.Container components = null;
public class MyEval
{ public MyEval()
{ // // TODO: Add constructor logic here // } public object Eval(string cCharpCode)
{ CSharpCodeProvider csharpCodeProvider = new CSharpCodeProvider(); ICodeCompiler compiler = csharpCodeProvider.CreateCompiler(); CompilerParameters cp = new CompilerParameters(); cp.ReferencedAssemblies.Add("system.dll"); cp.CompilerOptions = "/t:library"; cp.GenerateInMemory = true; StringBuilder myCode = new StringBuilder(); myCode.Append("using System;"); myCode.Append("namespace CoustomEval{"); myCode.Append("class myLib {private "+cCharpCode+" public int myMethod(){return i;}}"); myCode.Append("}"); CompilerResults cr = compiler.CompileAssemblyFromSource(cp,myCode.ToString()); Assembly assembly = cr.CompiledAssembly; object tmp = assembly.CreateInstance("CoustomEval.myLib"); Type type = tmp.GetType(); MethodInfo mi = type.GetMethod("myMethod"); object result = mi.Invoke(tmp,null); return result; } }
public Form1()
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent(); //
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
} /// <summary>
/// 清理所有正在使用的资源。
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
} #region Windows 窗体设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.button1 = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// button1
//
this.button1.Location = new System.Drawing.Point(104, 152);
this.button1.Name = "button1";
this.button1.TabIndex = 0;
this.button1.Text = "button1";
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
this.ClientSize = new System.Drawing.Size(292, 273);
this.Controls.Add(this.button1);
this.Name = "Form1";
this.Text = "Form1";
this.ResumeLayout(false); }
#endregion /// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new Form1());
} private void button1_Click(object sender, System.EventArgs e)
{
int[] myInt = new int[4] {2,4,6,8};
string[] FH = new string[4]{"+","-","*","/"};
string test = myInt[0].ToString() + FH[0].ToString() + myInt[1].ToString() + FH[2].ToString() + myInt[2].ToString();
MyEval eval = new MyEval();
object result = eval.Eval(@"int i = " + test + ";");
MessageBox.Show(result.ToString());
} }
}