欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

c#在控制臺輸出彩色文字的方法

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

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

示例代碼如下:

復制代碼 代碼如下:

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。前者取得控制臺的句柄,后者設(shè)置控制臺的文字顏色。

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

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

相關(guān)文章

最新評論