マネージドコードのみの場合はほとんど使うことはありませんが、Stringコンストラクタではcharのポインタやsbyteのポインタから文字列を作成することも出来ます。

charポインタ・sbyteポインタから文字列を作成する
using System;
using System.Text;

class Sample {
  static void Main()
  {
    byte[] data;
    string s;

    // 文字列を構成するbyte配列
    data = new byte[] {0x41, 0x42, 0x43};

    unsafe {
      fixed (byte* d = data) {
        // byteポインタをsbyteポインタにキャストして文字列を作成する
        s = new string((sbyte*)d, 0, 3);
      }
    }

    Console.WriteLine(s);

    data = new byte[] {0x93, 0xfa, 0x96, 0x7b, 0x8c, 0xea};

    unsafe {
      fixed (byte* d = data) {
        // sbyteポインタから文字列を作成する (文字コードをshift_jisとして解釈する)
        s = new string((sbyte*)d, 0, 6, Encoding.GetEncoding("shift_jis"));
      }
    }

    Console.WriteLine(s);
  }
}
実行結果
ABC
日本語