各位大神好,C #新手,我的職業是一名土建結構工程師,因為工作中需要用到很多結構計算、出計算書、自動出CAD圖之類的工作,所以之前自學了VB,自己編寫了一個結構計算的小程序。因為VB實在太老了,而且CAD二次開發的話,C#的功能相對更強大,所以開始自學C#。但是遇到了以下幾個問題:1.原來的VB程序計算過程需要用到大大小小幾百個變量,而且是整個程序都需要用到的,比如工況一條件下,構件一的受力:Nx,Ny,Nz,Vx,Vy,Vz,Mx,My,Mz等等,VB中有公共變量的概念,很容易解決這個問題。但是這些公共變量怎么在C#中設置?這個問題當然可以通過添加一個靜態公共類比如Common用于存儲和改變公共變量,但這樣有讓我遇到了第二個問題。2.設置靜態公共類存儲變量后,原來VB中一個很簡單的賦值語句c=a^2+b^2就要寫成Common.c=(Common.a)^2+(Common)^2!(實際上這里的^甚至在C#中都不能夠用作冪運算?。┻@還是我其中一個比較簡單的公式,后面還有更復雜的!我嘗試了使用using static namespace.classname 來簡化公式以便可以寫成c=a^2+b^2的形式,但發現不可以在program.cs里寫,必須在每個form里都寫上這個using語句。3.最后一個問題Common.c=(Common.a)^2+(Common)^2這個公式,我還沒有考慮到c#中^并不代表冪運算,真正想要冪運算需要math函數,也就是說一個簡單的c=a^2+b^2,最后要寫成Common.c=Math.Pow(Common.a,2)+Math.Pow(Common.b,2)!天哪!這對于一個業余編程初學者來說簡直是一個打擊!難道我需要再自己自定義運算符?或者做運算符重載!我真的只是一個新手o(╥﹏╥)o。我的整個小程序主要就是數據計算,涉及到很多公式和賦值,這在C#中沒有很好的解決方案嗎?我再CSDN上也發了帖子求教,但是感覺沒有得到良好的答案,真心求教各位大神!因為是新手,謝謝大家!
1 回答

哈士奇WWW
TA貢獻1799條經驗 獲得超6個贊
題主你好,我是搞路橋的,業余也學過vb,c#,c++,就我的感覺,c#要比vb6在編碼上方便了很多,你說的幾百個全局變量在實際編碼時太容易出錯了,如果方便,可以發一份源碼,說不定會有值的你參考的方法
追問
謝謝回答,那請問您是如何實現這種計算場景的計算呢,因為在整個計算中用的到變量就是很多,而在VB6中,直接public a,b,c,d,e....就可以,不會出錯 源碼的話,一是程序源碼很大,不太可能放出來。二是源碼屬于公司機密,所以如果您有實現方法,請指導一二
追答
不需要算法也是保密的?你可以摘取一部分算法或描述一下類似算法,具體問題具體分析,建議你學習一下c#面向對象
- 1 回答
- 0 關注
- 1204 瀏覽
添加回答
舉報
0/150
提交
取消