none
C#能编写单片机里面的程序吗? RRS feed

  • 问题

  • C#能编写单片机里面的程序吗?能的话该怎么操作啊?

    static  string a;这个静态变量和string a;在C#中有什么区别啊?

    2012年1月31日 13:49

答案

  • C#是准们为与Microsoft 的.Net framework 一起使用而设计的。并不是有C语言转变而来。 C#语言一般是跟.Net平台一起使用。

    C#基本上是综合C,C++以及Java等编程语言,结合.Net 的一些特性产生的一种新语言。用C#写的程序必须有相应的.Framework才可以运行。

    而在单片机以及嵌入式什么的, framework有一个专门的版本,叫做.NET Micro Framework。

    http://www.microsoft.com/en-us/netmf/default.aspx 你可以下载试一下。

    据我所知,单片机上当然是用C写的程序最好了。但是能不能用C#写,试过之后才能知道。

    祝您好运!


    Best Regards,
    Rocky Yue[MSFT]
    MSDN Community Support | Feedback to us
    2012年2月2日 6:21
    版主
  • 我也是新手,不过以前学JAVA时有些视频说过比较详细区分静态变量和一般变量的区别.

    我的理解是静态变量有独立的内存空间存储值,而一般的变量是跟随实例一起变化而变化的,因此静态变量是不因实例里的变量改变而改变的,除非你负值给那个静态变量!而一般的变量互相负值后两者是共享一个存储空间的,如果你改变其中一个,另一个也跟着变.

    不正确的地方高手出来指导下.

    2012年2月2日 10:37
  • 用Static修饰符声明的变量,属于类型本身,不属于特定对象。 比如下面的代码:

        static string str;//在使用的时候只能用Class1.str,一般创建的对象是不能使用的。
          string str1;//在使用的时候属于某一个对象,就是New Class1()的一个对象。
    

    在生命周期上,Static声明的,是伴随着应用程序的,应用程序开始运行,就会为其分配内存并一直存在,应用程序结束,GC回收该内存。相对应的另外一种,就是对象创建时也就是new的时候,分配内存,对象结束,它也被GC回收。

    参考资料:

    http://msdn.microsoft.com/zh-cn/library/98f28cdx 

    http://msdn.microsoft.com/zh-cn/library/79b3xss3

    http://wenku.baidu.com/view/f271d500a6c30c2259019e6b.html

    也非常感谢hzpemu的热心帮助。

     

     


    Best Regards,
    Rocky Yue[MSFT]
    MSDN Community Support | Feedback to us
    2012年2月3日 6:40
    版主

全部回复

  • 单片机不行 嵌入式可以
    2012年1月31日 13:59
  • 为什么啊?C#不是从C转变过来的吗?为什么单片机不行啊?
    2012年2月1日 11:57
  • C#是准们为与Microsoft 的.Net framework 一起使用而设计的。并不是有C语言转变而来。 C#语言一般是跟.Net平台一起使用。

    C#基本上是综合C,C++以及Java等编程语言,结合.Net 的一些特性产生的一种新语言。用C#写的程序必须有相应的.Framework才可以运行。

    而在单片机以及嵌入式什么的, framework有一个专门的版本,叫做.NET Micro Framework。

    http://www.microsoft.com/en-us/netmf/default.aspx 你可以下载试一下。

    据我所知,单片机上当然是用C写的程序最好了。但是能不能用C#写,试过之后才能知道。

    祝您好运!


    Best Regards,
    Rocky Yue[MSFT]
    MSDN Community Support | Feedback to us
    2012年2月2日 6:21
    版主
  • 好的   谢谢你了,不过你能不能帮我解释下,解释清楚了真是感激不尽啊!!

    static  string a;这个静态变量和string a;在C#中有什么区别啊?还有比如说我我写了一个public class a{};这样的类。当我new的时候这样写static a A=new a();这样又是什么意思那?

    这个问题困惑我好久了,静态变量到底是个什么东西,静态变量是在类型本事分配存储空间的吗?

    2012年2月2日 10:19
  • 我也是新手,不过以前学JAVA时有些视频说过比较详细区分静态变量和一般变量的区别.

    我的理解是静态变量有独立的内存空间存储值,而一般的变量是跟随实例一起变化而变化的,因此静态变量是不因实例里的变量改变而改变的,除非你负值给那个静态变量!而一般的变量互相负值后两者是共享一个存储空间的,如果你改变其中一个,另一个也跟着变.

    不正确的地方高手出来指导下.

    2012年2月2日 10:37
  • 用Static修饰符声明的变量,属于类型本身,不属于特定对象。 比如下面的代码:

        static string str;//在使用的时候只能用Class1.str,一般创建的对象是不能使用的。
          string str1;//在使用的时候属于某一个对象,就是New Class1()的一个对象。
    

    在生命周期上,Static声明的,是伴随着应用程序的,应用程序开始运行,就会为其分配内存并一直存在,应用程序结束,GC回收该内存。相对应的另外一种,就是对象创建时也就是new的时候,分配内存,对象结束,它也被GC回收。

    参考资料:

    http://msdn.microsoft.com/zh-cn/library/98f28cdx 

    http://msdn.microsoft.com/zh-cn/library/79b3xss3

    http://wenku.baidu.com/view/f271d500a6c30c2259019e6b.html

    也非常感谢hzpemu的热心帮助。

     

     


    Best Regards,
    Rocky Yue[MSFT]
    MSDN Community Support | Feedback to us
    2012年2月3日 6:40
    版主