有人可以在这里检查我的理智吗.鉴于这个简单的功能:
let filterOut item l =
l |> List.filter (fun t -> not (t = item))
let f =
["1";"2";"3"]
|> filterOut "3"
Run Code Online (Sandbox Code Playgroud)
在FSI中评估以上内容产生以下结果:
Xamarin Studio在Mac OS X上使用mono 4.0.3
val f:string list = ["1"]
Visual Studio 2013
val f:string list = ["1"; "2"]
如果输入是一个int或chars列表 - 那么它按预期工作,并且两个平台产生相同的结果.另外,如果我指定filterOut仅用于字符串,它会正确生成相同的值.像这样:
let filterOut item l:list<string> =
l |> List.filter (fun t -> not (t = item))
Run Code Online (Sandbox Code Playgroud)
甚至以下代码在OS X上使用XS:
let filterOut item l =
l |> List.filter (fun t -> not (t = item))
let f …Run Code Online (Sandbox Code Playgroud) 在System.Runtime.Remoting.Channels.CoreChannel上使用.Net Reflector我反编译了下面的两个方法.在为远程处理设置HttpChannel时调用GetMachineIp().
internal static string GetMachineIp()
{
if (s_MachineIp == null)
{
IPHostEntry hostEntry = Dns.GetHostEntry(GetMachineName());
AddressFamily addressFamily = Socket.SupportsIPv4 ?
AddressFamily.InterNetwork : AddressFamily.InterNetworkV6;
IPAddress machineAddress = GetMachineAddress(hostEntry, addressFamily);
if (machineAddress != null)
{
s_MachineIp = machineAddress.ToString();
}
if (s_MachineIp == null)
{
throw new ArgumentNullException("ip");
}
}
return s_MachineIp;
Run Code Online (Sandbox Code Playgroud)
}
internal static string GetMachineName()
{
if (s_MachineName == null)
{
string hostName = GetHostName();
if (hostName != null)
{
IPHostEntry hostEntry = Dns.GetHostEntry(hostName);
if (hostEntry != null)
{
s_MachineName …Run Code Online (Sandbox Code Playgroud) 我在使用MvvmCross框架的MonoTouch应用程序中有一个视图,我想要显示Modal(NavigationController.PresentModalViewController).