亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

c#在控制臺(tái)輸出彩色文字的方法

 更新時(shí)間:2013年03月15日 10:50:21   作者:  
c#在控制臺(tái)輸出彩色文字的方法,需要的朋友可以參考一下

“Hello World!”的程序?qū)戇^(guò)不少,不過(guò)都是在黑色背景的控制臺(tái)上顯示白色的文字。這次決定寫(xiě)點(diǎn)特別的,讓“Hello World!”變成彩色的文字。

示例代碼如下:

復(fù)制代碼 代碼如下:

using System;
using System.Runtime.InteropServices;

[assembly:CLSCompliant(true)]
namespace ColorConsole
{
    public sealed class HelloWorld
    {
        private HelloWorld() { }

        public static void Main()
        {
            const UInt32 STD_OUTPUT_HANDLE = unchecked((UInt32)(-11));
            IntPtr consoleHandle = NativeMethods.GetStdHandle(STD_OUTPUT_HANDLE);

            string s = "Hello World!";

            for (int i = 0; i < s.Length; i++)
            {
                NativeMethods.SetConsoleTextAttribute(consoleHandle, (ushort)(i + 1));
                Console.Write(s[i]);
            }

            Console.ReadLine();
        }
    }

    class NativeMethods
    {
        private NativeMethods() { }

        [DllImport("Kernel32.dll", SetLastError = true, CharSet = CharSet.Auto)]
        public static extern IntPtr GetStdHandle(UInt32 type);

        [DllImport("Kernel32.dll", SetLastError = true, CharSet = CharSet.Auto)]
        [return: MarshalAs(UnmanagedType.U1)]
        public static extern bool SetConsoleTextAttribute(IntPtr consoleHandle, ushort attributes);  
    }
}

主要用到的方法是GetStdHandle與SetConsoleTextAttribute。前者取得控制臺(tái)的句柄,后者設(shè)置控制臺(tái)的文字顏色。

循環(huán)語(yǔ)句中將字符串的每個(gè)字符設(shè)置為不同的顏色,逐一顯示出來(lái),最終成為一串彩色的文字。

至于代碼的實(shí)際用途嗎,我想在控制臺(tái)上輸出日志的時(shí)候可能會(huì)有作用。尤其是要醒目地顯示不同類(lèi)型日志的場(chǎng)合下,比如可以將錯(cuò)誤,警告和信息類(lèi)型的日志分別用紅色,黃色與通常的白色區(qū)別開(kāi)來(lái)。

相關(guān)文章

最新評(píng)論