Rin*_*gil 5 c# f# localization .net-standard
我使用以下代码使用F#4.3.4(我还使用4.5测试)创建了一个.NET Standard F#库:
namespace ClassLibrary2
module Say =
let a = "?".Length.ToString()
let b = sprintf "%A" ("?".ToCharArray() |> Array.map int)
let c = "?"
Run Code Online (Sandbox Code Playgroud)
从其他项目(.net核心或.net框架)引用该库时:
Console.WriteLine(Say.a); // F# .net standard
Console.WriteLine(Say.b);
Console.WriteLine(Say.c == "?");
Run Code Online (Sandbox Code Playgroud)
我得到以下输出:
2
[|65533; 65533|]
False
Run Code Online (Sandbox Code Playgroud)
等效的C#.NET标准库:
using System;
using System.Linq;
namespace ClassLibrary1
{
public static class Class1
{
public static string a = "?".Length.ToString();
public static string b = String.Join(", ", "?".ToCharArray().Select(i => ((int)i).ToString()));
public static string c = "?";
}
}
Run Code Online (Sandbox Code Playgroud)
给出预期的输出:
1
22269
True
Run Code Online (Sandbox Code Playgroud)
这是一个显示问题的回购:https://github.com/liboz/Kanji-Bug.
这可能是一个错误,但我想知道这个问题的合理解决方法是什么?具体来说,我希望能够Say.c =?"?"在使用.NET标准库的同时检查字符串的相等性,例如我可能在使用非英文字符的位置.