C# 两个字符的整数到字符?

C# 两个字符的整数到字符?,c#,C#,所以我在做一个程序,计算表达式中的X,例如,如果我输入2*X=6,那么它会说X=3。 我的代码: string[]exps=textBox1.Text.Split('='); DataTable dt=新的DataTable(); 对于(int i=0;i

所以我在做一个程序,计算表达式中的X,例如,如果我输入2*X=6,那么它会说X=3。 我的代码:

string[]exps=textBox1.Text.Split('=');
DataTable dt=新的DataTable();
对于(int i=0;i<50;i++)
{

字符串s=exps[0]。Replace('x',Convert.ToChar(i.ToString());//您不必使用
Replace(char,char)
重载。还有一个重载:

string s = exps[0].Replace("x", i.ToString());
你可能已经意识到了这一点,但你求解方程的方法只适用于一种非常特殊的方程。主要有以下问题:

  • 解决方案必须是介于0和49之间的整数
  • 必须只有一种解决办法
  • 乘法必须明确指出,即
    5x
    并不意味着5乘以x
  • 右侧必须是整数。通过使用
    exps[1]
    调用
    Compute
    (当然,使用
    x
    替换项),可以轻松解决此问题

将字符转换为字符串即可:

exps[0].Replace("x", i.ToString());

可以创建包含两列的数据表

(1) 对于列名“X”,这将保留值和

(2) 将具有表达式的计算列

示例代码:

        var dt=new DataTable();
        dt.Columns.Add(new DataColumn("X", typeof(float)));

        var exprCol=new DataColumn("Expr");
        exprCol.Expression="X+10";

        dt.Columns.Add(exprCol);

        var row = dt.NewRow();
        row["X"] = 5;
        dt.Rows.Add(row);
        var calculatedValue=row["Expr"];

你能给我解释一下如何用浮点数,例如5.10+x=5.20吗?@Scholler那么你就不能用你目前的方法——试着用一堆值看看哪个有效。你可能需要某种算法来重新排列方程。问题变得更难了。
        var dt=new DataTable();
        dt.Columns.Add(new DataColumn("X", typeof(float)));

        var exprCol=new DataColumn("Expr");
        exprCol.Expression="X+10";

        dt.Columns.Add(exprCol);

        var row = dt.NewRow();
        row["X"] = 5;
        dt.Rows.Add(row);
        var calculatedValue=row["Expr"];