以下代碼塊在 C# Interactive Compiler 上運行良好
Microsoft (R) Visual C# Interactive Compiler version 4.2.0-4.22252.24 ()
Loading context from 'CSharpInteractive.rsp'.
Type "#help" for more information.
> using System.Text;
> var codepages = Encoding.GetEncodings().Select(x => x.GetEncoding()).ToList();
> foreach (var cp in codepages) { Console.WriteLine($"{cp.HeaderName} {cp.EncodingName} ({cp.CodePage})"); }
輸出
1. IBM037 IBM EBCDIC (US-Canada) (37)
2. IBM437 OEM United States (437)
3. IBM500 IBM EBCDIC (International) (500)
..
..
..
138. x-iscii-pa ISCII Punjabi (57011)
139. utf-7 Unicode (UTF-7) (65000)
140. utf-8 Unicode (UTF-8) (65001)
但是每當我想在 .net 6.0 winform 應用程式中運行它時
public MainForm()
{
InitializeComponent();
initView();
cbEncodings.Items.Clear();
var codepages = Encoding.GetEncodings().Select(x => x.GetEncoding()).ToList();
foreach (var e in codepages)
{
cbEncodings.Items.Add($"{e.EncodingName} ({e.CodePage})");
}
}
它只列出了 7 個元素


這可能是什么原因?
uj5u.com熱心網友回復:
在您的代碼之前添加Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);(即 before var codepages = Encoding.GetEncodings().Select(x => x.GetEncoding()).ToList();),然后您將獲得完整串列。詳細資訊在https://docs.microsoft.com/en-us/dotnet/api/system.text.encoding.getencodings?view=net-6.0中。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/489380.html
標籤:C# 。网 表格 .net-core .net-6.0
上一篇:C#Windows表單-如何更改具有相同父級的多個控制元件的單個屬性?
下一篇:和DataGridViewc#
