日期:2014-05-18  浏览次数:20777 次

邪了,为什么这个程序必须带上.exe才能正确执行?
C# code
using System;

public class myApp
{
    enum Color
    {
        red,
        white,
        blue,
    }
    
    public static void Main()
    {
        string buffer;
        Color myColor;
        
        Console.WriteLine("Enter a value for a color: 0= Red,1= White,2= Blue):");
        buffer = Console.ReadLine();
        
        myColor = (Color) Convert.ToInt32(buffer);
        
        switch (myColor)
        {
            case Color.red:
                Console.WriteLine("\nSwitched to Red...");
                break;
            case Color.white:
                Console.WriteLine("\nSwitched to White...");
                break;
            case Color.blue:
                Console.WriteLine("\nSwitched to Blue...");
                break;
            default:
                Console.WriteLine("\nSwitched to default...");
                break;
        }
        
        Console.WriteLine("\nColor is {0} ({1})", myColor, (int)myColor);
    }
}


编译成文件color.exe
cmd里执行的时候必须输入color没反应,必须输入color.exe才正常执行!?

但如果编译成color2.exe或者colors.exe,则执行的时候输入color2或者colors就能正常执行

why?why?why?


------解决方案--------------------
内部命令,你自己在cmd中输入 
color /?
------解决方案--------------------
说白了就是:

输入 color 后,你按table, 会出现color.pdb, color.ilk 等等,cmd不知道执行那个文件.

但color2,colors这种文件名只有一个,默认直接选唯一的名称执行

你把color从debug目录里拷出来,cmd定位到新拷贝的目录,直接输入color不用输入exe就可以执行
------解决方案--------------------
设置默认的控制台前景和背景颜色。

COLOR [attr]

attr 指定控制台输出的颜色属性

颜色属性由两个十六进制数字指定 -- 第一个为背景,第二个则为
前景。每个数字可以为以下任何值之一:

0 = 黑色 8 = 灰色
1 = 蓝色 9 = 淡蓝色
2 = 绿色 A = 淡绿色
3 = 湖蓝色 B = 淡浅绿色
4 = 红色 C = 淡红色
5 = 紫色 D = 淡紫色
6 = 黄色 E = 淡黄色
7 = 白色 F = 亮白色

如果没有给定任何参数,该命令会将颜色还原到 CMD.EXE 启动时
的颜色。这个值来自当前控制台窗口、/T 开关或
DefaultColor 注册表值。

如果用相同的前景和背景颜色来执行 COLOR 命令,COLOR 命令
会将 ERRORLEVEL 设置为 1。

例如: "COLOR fc" 在亮白色上产生亮红色

Color 是系统命令!!!!!!!!! 楼主换个名吧