小编kwc*_*cto的帖子

是否可以使用Mono(Mac)运行LINQPad

我在Snow Leopard中安装了Mono 2.6.7并想运行LINQPad.我已经启动LINQPad(v2.21)但是立即得到一个FileNotFoundException.有没有人能够成功运行它?

我认为异常是因为它试图读取/写入配置文件或其他东西,但希望有一些解决方法.

谢谢.

编辑:使用"Olive"构建Mono(WPF所需):

在终端:

svn co svn://anonsvn.mono-project.com/source/trunk/olive
cd /Users/(your user name)/olive
./configure --prefix=/Users/(your user name)/olive --with-glib=embedded
make
make install
Run Code Online (Sandbox Code Playgroud)

现在在Finder中导航到:

/ Users /(您的用户名)/ olive/lib/mono/gac

将这些文件夹(例如:PresentationCore,PresentationFramework)复制到:

/Library/Frameworks/Mono.framework/Versions/2.6.7/lib/mono/gac(当前的Mono版本是2.6.7,但这显然可能有所不同)

编辑:不幸的是,现在我在运行LINQPad时得到了这个:

警告**:无法加载类System.Windows.Resources.AssemblyAssociatedContentFileAttribute,在LINQPad中使用不能加载,在LINQPad中使用

编辑: Xamarin工作簿最近发布了1.0(https://developer.xamarin.com/workbooks/),是我在macOS上看到的LINQPad最接近的.

编辑(2017年9月): 这仍然是投机性的!

使用Docker和Windows子系统Linux(WSL)可以运行大多数Windows应用程序(包括GUI应用程序):

在Ubuntu上运行的cmd.exe的动画演示

有关详细演练,请参阅https://blog.jessfraz.com/post/windows-for-linux-nerds/上的博客文章.

linux mono linqpad docker windows-subsystem-for-linux

33
推荐指数
2
解决办法
1万
查看次数

LINQ表达式返回属性值?

我正在尝试创建一个通用函数来帮助我从本地列表中使用LINQ to SQL选择数千条记录.SQL Server(至少2005)将查询限制为2100个参数,我想选择更多的记录.

这将是一个很好的示例用法:

var some_product_numbers = new int[] { 1,2,3 ... 9999 };

Products.SelectByParameterList(some_product_numbers, p => p.ProductNumber);
Run Code Online (Sandbox Code Playgroud)

这是我的(非工作)实现:

public static IEnumerable<T> SelectByParameterList<T, PropertyType>(Table<T> items, 

IEnumerable<PropertyType> parameterList, Expression<Func<T, PropertyType>> property) where T : class
{
    var groups = parameterList
        .Select((Parameter, index) =>
            new
            {
                GroupID = index / 2000, //2000 parameters per request
                Parameter
            }
        )
        .GroupBy(x => x.GroupID)
        .AsEnumerable();

    var results = groups
    .Select(g => new { Group = g, Parameters = g.Select(x => x.Parameter) } )
    .SelectMany(g …
Run Code Online (Sandbox Code Playgroud)

c# linq lambda expression linq-to-sql

23
推荐指数
2
解决办法
3万
查看次数

Objective-C是否使用短路评估?

我尝试过以下方面:

if(myString != nil && myString.length) { ... }
Run Code Online (Sandbox Code Playgroud)

得到了:

- [NSNull length]:发送到实例的无法识别的选择器

在第一个条件失败后,Objective-C不会短路吗?

objective-c short-circuiting

18
推荐指数
2
解决办法
5923
查看次数

LINQPad - 将辅助DataContext记录到"SQL"选项卡

它很容易在LINQPad中实例化多个DataContexts.有没有办法将这些实例设置为登录结果窗格的"SQL"选项卡?

设置myDataContext.Log = this.Log不起作用.

c# linq linqpad linq-to-sql

6
推荐指数
1
解决办法
647
查看次数

大纪元时间(自1970年以来的蜱虫) - Mac与Windows

我有一些返回JSON的C#Web服务..NET JavaScriptSerializer以大纪元时间(自1970年以来的毫秒)返回日期.在任何Windows计算机上,基于Web的应用程序将毫秒数处理回正确的日期而不会出现问题.

在我的Mac上,日期有时会偏离1小时.不是每一次.只是有时.现在正在我正在构建的iPhone前端上发生这种情况.

我一开始认为,在将毫秒除以1000时,我已经失去了一些精度,以创建一个有效的Objective-C NSDate对象.然后我在Mac Firefox上使用相同的时间戳在javascript中测试日期创建,并获得相同的1小时偏移量.

有任何想法吗?谢谢...

编辑:我还注意到在XCode的控制台中,创建的日期旁边有一个-4或-5.我假设这是GMT偏移量.这些似乎随着日期是否偏移1小时而变化.因此,一些-4个日期和一些-5个日期是正确的,其中一个是偏移的.

编辑:使用示例:

console.log(new Date(-1173643200000));
Run Code Online (Sandbox Code Playgroud)

返回Sun Oct 23 1932 00:00:00 GMT-0400(EST)

console.log(new Date(-1031515200000));
Run Code Online (Sandbox Code Playgroud)

返回Sat Apr 24 1937 23:00:00 GMT-0500(EST)

NSDate* date = [NSDate dateWithTimeIntervalSince1970:ticks / 1000];

-589320000000 =
1951-04-30 00:00:00 -0400

-1173643200000 =
1932-10-22 23:00:00 -0500 
Run Code Online (Sandbox Code Playgroud)

(这个在Firebug控制台中返回正确,在XCode控制台中错误)

-1303416000000 =
1928-09-12 00:00:00 -0400

-1492545600000 =
1922-09-15 00:00:00 -0400

-1263668400000 =
1929-12-16 00:00:00 -0500

-1252094400000 =
1930-04-29 00:00:00 -0400

-1046458800000 =
1936-11-03 00:00:00 -0500

-1298746800000 =
1928-11-05 00:00:00 -0500

-1031515200000 =
1937-04-24 23:00:00 -0500   
Run Code Online (Sandbox Code Playgroud)

(在Firebug控制台和XCode控制台中返回错误)

-910465200000 …
Run Code Online (Sandbox Code Playgroud)

macos json date epoch

5
推荐指数
1
解决办法
2561
查看次数

LINQ迭代器异常处理

var trimmed = myStringArray.Select(s => s.Substring(0, 10));
Run Code Online (Sandbox Code Playgroud)

如果其中一个字符串长度不是10个字符,我会得到一个ArgumentOutOfRangeException.

在这种情况下,它很容易找到,我知道我可以做到

s.Substring(0, Math.Min(10, s.Length))
Run Code Online (Sandbox Code Playgroud)

对于更复杂的对象构造错误,这并不总是很容易看到.有没有办法通过异常处理来查看哪个字符串不够长?

c# linq iterator exception-handling

5
推荐指数
1
解决办法
638
查看次数

MonoTouch - 字段与自动属性

使用字段而不是自动属性时是否存在明显的性能差异?如果我反序列化一组1000个JSON对象,每个具有5个属性呢?

我的iPhone域模型基本上是我的Web应用程序用于序列化为javascript的DTO的副本.他们都习惯使用自动属性.我担心我在MonoTouch中使用它们会浪费CPU周期.

c# performance automatic-properties xamarin.ios

5
推荐指数
1
解决办法
277
查看次数