程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C# 公式計算(字符串),

C# 公式計算(字符串),

編輯:C#入門知識

C# 公式計算(字符串),


 

1)調用JS計算方法(不推薦,效率低)

MSScriptControl.ScriptControl scriptControl = new MSScriptControl.ScriptControl();
scriptControl.Language = "JScript";
string value = scriptControl.Eval("1+2*(4-3)").ToString();
Console.WriteLine(value);

 

2)使用DataTable的Compute()方法

DataTable table = new DataTable();
string value = table.Compute("1+2*(4-3)", "").ToString();
Console.WriteLine(value);

 

3)構建DataTable,給列名添加公式

//計算公式
string expression1 = "a+b*(c-d)";
string expression2 = "a+b-c-d";

//構建table
DataTable table = new DataTable();
table.Columns.Add("a", typeof(int));
table.Columns.Add("b", typeof(int));
table.Columns.Add("c", typeof(int));
table.Columns.Add("d", typeof(int));
table.Columns.Add("e1", typeof(int));//公式列
table.Columns.Add("e2", typeof(int));//公式列

//添加公式
table.Columns["e1"].Expression = expression1;
table.Columns["e2"].Expression = expression2;

//添加一行並賦值
DataRow row = table.Rows.Add();
row["a"] = 1;
row["b"] = 2;
row["c"] = 4;
row["d"] = 3;

table.BeginLoadData();
table.EndLoadData();

for (int i = 0; i < table.Columns.Count; i++)
{
Console.Write(table.Columns[i].ColumnName + "\t");
}

Console.WriteLine();

for (int i = 0; i < table.Columns.Count; i++)
{
Console.Write(row[i].ToString() + "\t");
}

C語言中 ^怎使用

a1 = 0x01; //0000 0001
a2 = 0x00; //0000 0000
a3 = 0x03; //0000 0011
a4 = 0x02; //0000 0010

b1 = a1 ^ a2; //0000 0001
b2 = a1 ^ a3; //0000 0010
b3 = a1 ^ a4; //0000 0011

^異或運算符,位值相同為0,不同為1,見上示例.

//
簡單實際問題舉例:
======\=======\=======
======a=======b=======
上面是2條電路,2個開關分別為a和b,打開狀態:\[1],關閉狀態:/[0].
若同時打開或者關閉,兩條電路均不通.
若a打開[1],b關閉[0],電路1通電
======\=======/=======
若a關閉[0],b打開[1],電路2通電
======/=======\=======
綜上,電路在a,b狀態相同時不通[0],在a,b不同時通電[1].
 

C語言中 ^怎使用

a1 = 0x01; //0000 0001
a2 = 0x00; //0000 0000
a3 = 0x03; //0000 0011
a4 = 0x02; //0000 0010

b1 = a1 ^ a2; //0000 0001
b2 = a1 ^ a3; //0000 0010
b3 = a1 ^ a4; //0000 0011

^異或運算符,位值相同為0,不同為1,見上示例.

//
簡單實際問題舉例:
======\=======\=======
======a=======b=======
上面是2條電路,2個開關分別為a和b,打開狀態:\[1],關閉狀態:/[0].
若同時打開或者關閉,兩條電路均不通.
若a打開[1],b關閉[0],電路1通電
======\=======/=======
若a關閉[0],b打開[1],電路2通電
======/=======\=======
綜上,電路在a,b狀態相同時不通[0],在a,b不同時通電[1].
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved