[第一个 C# 程序]-C# 程序可以运行在任何一台可以打游戏的 Windows 机器上

活动地址:毕业季·进击的技术er

夏日炎炎,热浪中我们迎来毕业季,这是告别,也是迈向新起点的开始,CSDN诚邀各毕业生/在校生/职场人讲述自己的毕业季故事,分享自己的经验,技术er的进击之路,等你来书写!我是从自身经历出发,分享自己的经验。

从哪个瞬间开始让你决定学习编程语言?

    第一次接触编程语言是在 12 岁
    那个时候看叔叔在一台赛扬上写 cs 游戏!
现在还有人知道赛扬机吗?我清晰地记得那是台 32 MB 的赛扬机。
话说现在的小孩子们还玩 反恐精英/CS/魔兽/红警 什么的单机游戏吗?
    我可是亲眼看着叔叔咔咔咔的敲键盘 然后非常神奇的还能玩!!!
    那是我第一次遇见 c#
    从此 c# 在我心里打上了一个怎么也抹不去的标签:
就是用来写游戏的!!!

    自学过 C、Java 感觉要是写游戏还是 C# 用起来舒服
    毕竟控件咔咔点两下就是一个窗口 随便写写功能连上数据库就能跑起来玩……
    于是这次打算把 c# 这个冷门语言重新拾起来!应该不难吧 Java 的底子在那儿呢

##################################################

目录

.NET 框架

任何一台可以打现代游戏的 Windows 都可以运行 c# 程序

如何查看 .NET 框架的版本

通过命令提示符

在资源管理器查看产品信息

查看系统安装软件的信息

第一个 C# 程序

cmd 中使用 csc 编译器编译 .cs 源文件

为 csc 编译器添加环境变量

Windows 命令提示符临时设置环境变量

cmd 命令行中永久设置系统环境变量


##################################################

.NET 框架

——————————

任何一台可以打现代游戏的 Windows 都可以运行 c# 程序

        这不是吹牛

        只是有 32 位和 64 位的区别而已

        只要系统安装了对应的 .NET 框架 哪怕跑的是 Linux 都可以运行 c#

        只不过要对应版本 例如你写的 .Net Framework 4.0 的程序要想运行在 2.0 的 Framework/框架 上是痴心妄想

        不支持向下兼容 例如 XP 默认就没带 .net 框架

        而 Vista 和 Windows 7 都带了框架 只是版本不同而已

——————————

如何查看 .NET 框架的版本

%%%%%

通过命令提示符

        以管理员身份运行 cmd

以管理员身份运行 cmd

        输入该命令以查看:

reg query "HKLM\SOFTWARE\Microsoft\Net Framework Setup\NDP" /s

        如果是 4.X 的版本可以使用该命令查看:

reg query "HKLM\SOFTWARE\Microsoft\Net Framework Setup\NDP\v4" /s

        示例如下:

Microsoft Windows [版本 6.3.9600]
(c) 2013 Microsoft Corporation。保留所有权利。

C:\Windows\system32>reg query "HKLM\SOFTWARE\Microsoft\Net Framework Setup\NDP"
/s

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Net Framework Setup\NDP\CDF

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Net Framework Setup\NDP\CDF\v4.0
    NetTcpPortSharingInstalled    REG_DWORD    0x1
    HttpNamespaceReservationInstalled    REG_DWORD    0x1
    WMIInstalled    REG_DWORD    0x1
    SMSvcHostPath    REG_SZ    C:\Windows\Microsoft.NET\Framework64\v4.0.30319\
    NonHttpActivationInstalled    REG_DWORD    0x1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Net Framework Setup\NDP\v4

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Net Framework Setup\NDP\v4\Client
    Version    REG_SZ    4.8.03761
    CBS    REG_DWORD    0x1
    TargetVersion    REG_SZ    4.0.0
    Install    REG_DWORD    0x1
    InstallPath    REG_SZ    C:\Windows\Microsoft.NET\Framework64\v4.0.30319\
    Servicing    REG_DWORD    0x0
    Release    REG_DWORD    0x80eb1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Net Framework Setup\NDP\v4\Client\1033
    Version    REG_SZ    4.8.03761
    CBS    REG_DWORD    0x1
    TargetVersion    REG_SZ    4.0.0
    Install    REG_DWORD    0x1
    Servicing    REG_DWORD    0x0
    Release    REG_DWORD    0x80eb1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Net Framework Setup\NDP\v4\Client\2052
    Version    REG_SZ    4.5.51641
    CBS    REG_DWORD    0x1
    TargetVersion    REG_SZ    4.0.0
    Install    REG_DWORD    0x1
    Servicing    REG_DWORD    0x0
    Release    REG_DWORD    0x5c733

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Net Framework Setup\NDP\v4\Full
    Version    REG_SZ    4.8.03761
    CBS    REG_DWORD    0x1
    TargetVersion    REG_SZ    4.0.0
    Install    REG_DWORD    0x1
    InstallPath    REG_SZ    C:\Windows\Microsoft.NET\Framework64\v4.0.30319\
    Servicing    REG_DWORD    0x0
    Release    REG_DWORD    0x80eb1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Net Framework Setup\NDP\v4\Full\1033
    Version    REG_SZ    4.8.03761
    CBS    REG_DWORD    0x1
    TargetVersion    REG_SZ    4.0.0
    Install    REG_DWORD    0x1
    Servicing    REG_DWORD    0x0
    Release    REG_DWORD    0x80eb1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Net Framework Setup\NDP\v4\Full\2052
    Version    REG_SZ    4.5.51641
    CBS    REG_DWORD    0x1
    TargetVersion    REG_SZ    4.0.0
    Install    REG_DWORD    0x1
    Servicing    REG_DWORD    0x0
    Release    REG_DWORD    0x5c733

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Net Framework Setup\NDP\v4.0
    (默认)    REG_SZ    deprecated

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Net Framework Setup\NDP\v4.0\Client
    Version    REG_SZ    4.0.0.0
    Install    REG_DWORD    0x1


C:\Windows\system32>reg query "HKLM\SOFTWARE\Microsoft\Net Framework Setup\NDP\v
4" /s

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Net Framework Setup\NDP\v4\Client
    Version    REG_SZ    4.8.03761
    CBS    REG_DWORD    0x1
    TargetVersion    REG_SZ    4.0.0
    Install    REG_DWORD    0x1
    InstallPath    REG_SZ    C:\Windows\Microsoft.NET\Framework64\v4.0.30319\
    Servicing    REG_DWORD    0x0
    Release    REG_DWORD    0x80eb1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Net Framework Setup\NDP\v4\Client\1033
    Version    REG_SZ    4.8.03761
    CBS    REG_DWORD    0x1
    TargetVersion    REG_SZ    4.0.0
    Install    REG_DWORD    0x1
    Servicing    REG_DWORD    0x0
    Release    REG_DWORD    0x80eb1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Net Framework Setup\NDP\v4\Client\2052
    Version    REG_SZ    4.5.51641
    CBS    REG_DWORD    0x1
    TargetVersion    REG_SZ    4.0.0
    Install    REG_DWORD    0x1
    Servicing    REG_DWORD    0x0
    Release    REG_DWORD    0x5c733

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Net Framework Setup\NDP\v4\Full
    Version    REG_SZ    4.8.03761
    CBS    REG_DWORD    0x1
    TargetVersion    REG_SZ    4.0.0
    Install    REG_DWORD    0x1
    InstallPath    REG_SZ    C:\Windows\Microsoft.NET\Framework64\v4.0.30319\
    Servicing    REG_DWORD    0x0
    Release    REG_DWORD    0x80eb1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Net Framework Setup\NDP\v4\Full\1033
    Version    REG_SZ    4.8.03761
    CBS    REG_DWORD    0x1
    TargetVersion    REG_SZ    4.0.0
    Install    REG_DWORD    0x1
    Servicing    REG_DWORD    0x0
    Release    REG_DWORD    0x80eb1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Net Framework Setup\NDP\v4\Full\2052
    Version    REG_SZ    4.5.51641
    CBS    REG_DWORD    0x1
    TargetVersion    REG_SZ    4.0.0
    Install    REG_DWORD    0x1
    Servicing    REG_DWORD    0x0
    Release    REG_DWORD    0x5c733


C:\Windows\system32>

%%%%%

在资源管理器查看产品信息

        文件管理器中进入该路径 可以看到 32 位和 64 位的 .net 框架:

C:\Windows\Microsoft.NET\Framework

C:\Windows\Microsoft.NET\Framework
C:\Windows\Microsoft.NET\Framework

        在 版本目录 中找到 C# 编译器右击选择 属性 查看 详细信息 选项卡中的 产品版本:

产品版本

        这里是 4.8

%%%%%

查看系统安装软件的信息

        在 程序和功能 这个界面直接就能找到安装的框架版本:

程序和功能

##################################################

第一个 C# 程序

——————————

cmd 中使用 csc 编译器编译 .cs 源文件

        所以说我们不需要安装任何 IDE 就能编写编译 c# 程序

        在 C 盘根目录创建一个 .cs 结尾的文件 这是 c# 程序的源文件

        然后在其中编写代码:

using System;

class Program
{
	static void Main(string[] args)
	{ /* 我的第一个 C# 程序! */
		Console.WriteLine( "Hello,World!" );
		Console.ReadLine();
	}
}

        保存退出 我这里保存为 hw.cs 文件:

截图

        以管理员身份运行 cmd

        进入 .NET 安装目录:

cd C:\Windows\Microsoft.NET

        进入 64 位的 .NET 框架:

cd Framework64

        进入对应版本目录 可以按 TAB 键补全:

cd v4.0.30319

        最后找到 csc.exe 编译器 这是 c# 编译器:

C:\Windows\system32>cd C:\Windows\Microsoft.NET

C:\Windows\Microsoft.NET>cd Framework64

C:\Windows\Microsoft.NET\Framework64>cd v4.0.30319

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>dir csc.exe
 驱动器 C 中的卷是 System_8.1
 卷的序列号是 B6F6-A064

 C:\Windows\Microsoft.NET\Framework64\v4.0.30319 的目录

2022/05/15  22:40         2,758,280 csc.exe
               1 个文件      2,758,280 字节
               0 个目录  6,294,503,424 可用字节

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>

        开始编译我们编写的 .cs 文件 如下就是编译成功:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>csc C:\hw.cs
Microsoft (R) Visual C# Compiler version 4.8.3761.0
for C# 5
Copyright (C) Microsoft Corporation. All rights reserved.

This compiler is provided as part of the Microsoft (R) .NET Framework, but only
supports language versions up to C# 5, which is no longer the latest version. Fo
r compilers that support newer versions of the C# programming language, see http
://go.microsoft.com/fwlink/?LinkID=533240


C:\Windows\Microsoft.NET\Framework64\v4.0.30319>

        csc 是 c# 编译器

        C:\hw.cs 是 c 盘下的 .cs 源文件

        默认编译到当前目录下也就是

C:\Windows\Microsoft.NET\Framework64\v4.0.30319

        cmd 必须是管理员身份不然会出现访问错误:

没有权限

Microsoft Windows [版本 6.3.9600]
(c) 2013 Microsoft Corporation。保留所有权利。

C:\Users\byme>cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>csc C:\hw.cs
Microsoft (R) Visual C# Compiler version 4.8.3761.0
for C# 5
Copyright (C) Microsoft Corporation. All rights reserved.

This compiler is provided as part of the Microsoft (R) .NET Framework, but only
supports language versions up to C# 5, which is no longer the latest version. Fo
r compilers that support newer versions of the C# programming language, see http
://go.microsoft.com/fwlink/?LinkID=533240

CSC97CE4F50C8A4D9DA23C52C950AE2F41.TMP: error CS1567: Error generating Win32
        resource: 拒绝访问。
warning CS1610: Unable to delete temporary file
        'c:\Windows\Microsoft.NET\Framework64\v4.0.30319\CSC97CE4F50C8A4D9DA23C5
        2C950AE2F41.TMP' used for default Win32 resource --
        系统找不到指定的文件。

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>

        找到编译的程序 输入程序名就可以运行:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>dir hw.exe
 驱动器 C 中的卷是 System_8.1
 卷的序列号是 B6F6-A064

 C:\Windows\Microsoft.NET\Framework64\v4.0.30319 的目录

2022/06/27  17:18             3,584 hw.exe
               1 个文件          3,584 字节
               0 个目录  6,292,127,744 可用字节

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>hw.exe
Hello,World!


C:\Windows\Microsoft.NET\Framework64\v4.0.30319>hw
Hello,World!


C:\Windows\Microsoft.NET\Framework64\v4.0.30319>

        也可以在文件管理器中找到编译出来的程序 双击运行:

双击运行

——————————

为 csc 编译器添加环境变量

        一般来说离开了安装目录就找不到编译器了:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>d:

D:\>csc
'csc' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

D:\>

%%%%%

Windows 命令提示符临时设置环境变量

        此时使用 set 命令查看一下系统环境变量:

D:\>set
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\byme\AppData\Roaming
CLASSPATH=.;D:\Java\jdk1.7.0_79\lib;D:\Java\jdk1.7.0_79\lib\tools.jar
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=LILIAN
ComSpec=C:\Windows\system32\cmd.exe
FP_NO_HOST_CHECK=NO
HOMEDRIVE=C:
HOMEPATH=\Users\byme
JAVA_HOME=D:\Java\jdk1.7.0_79
LOCALAPPDATA=C:\Users\byme\AppData\Local
LOGONSERVER=\\LILIAN
MOZ_PLUGIN_PATH=C:\Program Files (x86)\Foxit Software\Foxit PDF Reader\plugins\
NUMBER_OF_PROCESSORS=4
OS=Windows_NT
Path=C:\Program Files (x86)\VMware\VMware Workstation\bin\;C:\Program Files (x86
)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\Intel\iCLS Client\;C:\P
rogram Files\Intel\iCLS Client\;C:\Windows\system32;C:\Windows;C:\Windows\System
32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Intel
\OpenCL SDK\2.0\bin\x86;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x64;C:\P
rogram Files\qemu;D:\Java\jdk1.7.0_79\bin;D:\Java\jdk1.7.0_79\jre\bin;
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 42 Stepping 7, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=2a07
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
PROMPT=$P$G
PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
PUBLIC=C:\Users\Public
SystemDrive=C:
SystemRoot=C:\Windows
TEMP=C:\Users\byme\AppData\Local\Temp
TMP=C:\Users\byme\AppData\Local\Temp
USERDOMAIN=lilian
USERDOMAIN_ROAMINGPROFILE=lilian
USERNAME=byme
USERPROFILE=C:\Users\byme
VBOX_MSI_INSTALL_PATH=C:\Program Files\Oracle\VirtualBox\
windir=C:\Windows

D:\>

        太多了 单独查看 Path 的值:

D:\>set Path
Path=C:\Program Files (x86)\VMware\VMware Workstation\bin\;C:\Program Files (x86
)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\Intel\iCLS Client\;C:\P
rogram Files\Intel\iCLS Client\;C:\Windows\system32;C:\Windows;C:\Windows\System
32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Intel
\OpenCL SDK\2.0\bin\x86;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x64;C:\P
rogram Files\qemu;D:\Java\jdk1.7.0_79\bin;D:\Java\jdk1.7.0_79\jre\bin;
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC

D:\>

        将 csc 所在目录添加进环境变量:

D:\>set path=%path%;C:\Windows\Microsoft.NET\Framework64\v4.0.30319

D:\>set path
Path=C:\Program Files (x86)\VMware\VMware Workstation\bin\;C:\Program Files (x86
)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\Intel\iCLS Client\;C:\P
rogram Files\Intel\iCLS Client\;C:\Windows\system32;C:\Windows;C:\Windows\System
32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Intel
\OpenCL SDK\2.0\bin\x86;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x64;C:\P
rogram Files\qemu;D:\Java\jdk1.7.0_79\bin;D:\Java\jdk1.7.0_79\jre\bin;;C:\Window
s\Microsoft.NET\Framework64\v4.0.30319
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC

D:\>

%%%%%

cmd 命令行中永久设置系统环境变量

        命令如下:

setx "path" "%path%;C:\Windows\Microsoft.NET\Framework64\v4.0.30319"

        示例:

C:\Users\byme>setx "path" "%path%;C:\Windows\Microsoft.NET\Framework64\v4.0.3031
9"

成功: 指定的值已得到保存。

C:\Users\byme>set path
Path=C:\Program Files (x86)\VMware\VMware Workstation\bin\;C:\Program Files (x86
)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\Intel\iCLS Client\;C:\P
rogram Files\Intel\iCLS Client\;C:\Windows\system32;C:\Windows;C:\Windows\System
32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Intel
\OpenCL SDK\2.0\bin\x86;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x64;C:\P
rogram Files\qemu;D:\Java\jdk1.7.0_79\bin;D:\Java\jdk1.7.0_79\jre\bin;
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC

C:\Users\byme>

        此时关掉当前终端 重新打开一个 cmd 终端 编译器可以在任何地方使用:

Microsoft Windows [版本 6.3.9600]
(c) 2013 Microsoft Corporation。保留所有权利。

C:\Users\byme>csc
Microsoft (R) Visual C# Compiler version 4.8.3761.0
for C# 5
Copyright (C) Microsoft Corporation. All rights reserved.

This compiler is provided as part of the Microsoft (R) .NET Framework, but only
supports language versions up to C# 5, which is no longer the latest version. Fo
r compilers that support newer versions of the C# programming language, see http
://go.microsoft.com/fwlink/?LinkID=533240

warning CS2008: No source files specified
error CS1562: Outputs without source must have the /out option specified

C:\Users\byme>

        之后就可以随意编译 c# 源文件啦:

Microsoft Windows [版本 6.3.9600]
(c) 2013 Microsoft Corporation。保留所有权利。

C:\Windows\system32>cd ..

C:\Windows>cd ..

C:\>dir hw.cs    /* 找到源文件 */
 驱动器 C 中的卷是 System_8.1
 卷的序列号是 B6F6-A064

 C:\ 的目录

2022/06/27  17:16               168 hw.cs
               1 个文件            168 字节
               0 个目录  6,312,771,584 可用字节

C:\>dir hw.exe    /* 还没有编译所以没有该程序 */
 驱动器 C 中的卷是 System_8.1
 卷的序列号是 B6F6-A064

 C:\ 的目录

找不到文件

C:\>csc hw.cs    /* 编译成功 */
Microsoft (R) Visual C# Compiler version 4.8.3761.0
for C# 5
Copyright (C) Microsoft Corporation. All rights reserved.

This compiler is provided as part of the Microsoft (R) .NET Framework, but only
supports language versions up to C# 5, which is no longer the latest version. Fo
r compilers that support newer versions of the C# programming language, see http
://go.microsoft.com/fwlink/?LinkID=533240


C:\>dir hw.exe    /* 找到编译后的程序 */
 驱动器 C 中的卷是 System_8.1
 卷的序列号是 B6F6-A064

 C:\ 的目录

2022/06/27  18:01             3,584 hw.exe
               1 个文件          3,584 字节
               0 个目录  6,312,632,320 可用字节

C:\>hw    /* 运行成功 */
Hello,World!


C:\>

活动地址:毕业季·进击的技术er

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

燃吹

呜呜呜没钱钱吃饭了……

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值