非计算机相关专业如何系统地自学C#编程,开发软件?
多写
航空院校毕业,有过类似的项目经验。
先说一下对问题描述的理解:已有一些Fortran编写好的算法,用来处理卫星等相关数据。目的是做到利用windows窗体展现处理好的数据。
Fortran和C#有点不同(例如数组下标问题),但是Fortran可以生成dll文件,那么C#是可以调用Fortran的dll文件的。
然后流程大概是:接受数据(C#)->处理数据(Fortran)->提取处理后的数据(C#)->数据整理(C#)->数据展现(C#)
1.接收数据:数据存放在哪里?数据库,csv文件,xml文件等,这个资料网上容易找。然后读取到程序中,以备Fortran处理。
2.调用Fortran的dll文件:有添加引用和反射两种方式。微软官方都有详细的例子。这是两篇相关文章:博客园-C#与Fortran混合编程之本地调用Fortran动态链接库 和 CSDN-C#调用Fortran DLL。搜索关键字:C#调用Fortran
3.提取处理后的数据、数据整理、数据展现:如果使用Winform,是可以很快速的入门并展现数据,但是界面效果一般。WPF你暂时可以理解为Winform的升级版,界面效果可以做得很好。
重点:
1.数据抽象:要把一组组数据抽象成一个个类,找到对应的特性,变成属性。这个就涉及到OOP(面向对象编程),例如一个卫星的一组数据可以抽象为一个类,这个类有(卫星质量,卫星线速度,卫星所在轨道高度,卫星周期,数据时间,数据1,数据2...)。
2.数据格式转换:统一数据格式,利用设计数据库的思想。一组数据有id,time,name,value1,value2等,就是同一个卫星(name相同),在不同时间(time不同)发回的数据,如果是相同时间(time相同),那么保证其序号不同(id不同),这样每一组数据都转换成类的实例,一个卫星的多组数据可以变成类的实例集合(数组,List等)。
结合以上,主要学习的应该是OOP以及C#调用第三方库的知识。
如果想做的更好,学习设计模式。
软件架构可以先从最简单的三层架构开始。
以上。
首先要找准方向,比如 WinForm/WPF 或是 http://ASP.NET,要具有针对性。其次就是多针对这个方向写一些代码练习,要熟悉整个开发流程。对于非计算专业的,可能最比较常见的问题就是不太熟悉语言的基本语法,数据结构等方面的知识,这个遇到不懂的,要多去查阅资料,多加理解。最后,基础很重要!
看一下菜鸟驿站学习基础语法,以上可参考