各位大神好,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 关注
- 1181 浏览
添加回答
举报
0/150
提交
取消