小编Ste*_*mer的帖子

在Xamarin Studio和Visual Studio之间共享解决方案时避免合并问题

在Xamarin Studio和Visual Studio之间共享解决方案时,对解决方案/项目的更改会导致意外结果..sln / .project文件的源文本具有意外修改,例如

  • UUID从低级变为大写
  • 重新排序.sln文件中的行
  • 改变了"ToolsVersion"
  • 更改了"Visual Studio"版本
  • 其他更改,如更改换行符,将"true"更改为"True",......

这例如在更改启动项目,添加引用项目,构建解决方案时发生.

这些变化导致Xamarin Studio和Visual Studio用户之间的"提交乒乓",并使合并变得更加困难.我们在Xamarin Studio 5.5.4和Visual Studio 2013 Update 4中遇到了这个问题.https://github.com/perpetual-mobile/SharingXamarinSolution存储库包含示例.该http://forums.xamarin.com/discussion/comment/95851线程也描述了这一问题.

如何避免这个问题?仅使用Xamarin Studio和Visual Studio时是否可以防止这种情况发生?或者我们是否需要一个额外的工具(例如cmake)?

visual-studio xamarin xamarin-studio

15
推荐指数
1
解决办法
578
查看次数

为什么在使用foreach时不执行此LINQ查询?

在LINQ语句中创建新对象时,例如:

var list = new List<string>() { "a", "b", "c" };
var created = from i in list select new A();
Run Code Online (Sandbox Code Playgroud)

A级看起来像这样:

class A
{
    public string Label;
}
Run Code Online (Sandbox Code Playgroud)

然后使用foreach循环修改A中的属性:

foreach (var c in created) {
    c.Label = "Set";
}
Run Code Online (Sandbox Code Playgroud)

为什么在访问后面的对象时未设置值IEnumerable.例如,以下断言失败:

Assert.AreEqual("Set", created.ElementAt(2).Label);
Run Code Online (Sandbox Code Playgroud)

我想知道为什么会这样.我希望foreach语句执行查询,并触发对象的创建.MSDN文档声明:"查询的执行被推迟,直到在foreach或For Each循环中迭代查询变量".

我用.NET 4.5和Mono 3.2.0重现了这种行为.在访问创建的对象之前调用ToListIEnumerable会使这个问题消失.

.net c# linq foreach deferred-execution

10
推荐指数
1
解决办法
763
查看次数

iOS 10中的警报通知和应用程序无效状态

在iOS 9中,警报通知显示在屏幕中央,并将当前应用程序移动到非活动状态.它们看起来像这样:

在iOS 10中,警报通知显示在屏幕顶部,并且不会将当前应用程序移动到非活动状态(UIApplicationDelegate applicationWillResignActive未调用).它们看起来像这样(基本上是一个停留在屏幕上的横幅通知):

相应的设置适用于iOS 9:

相应的设置适用于iOS 10:

我很惊讶警报通知不会在iOS 10中将应用程序移动到非活动状态.我无法在iOS 10(开发人员)发行说明中找到任何关于此更改的提及.有关响应临时中断的相应Apple文档仍指出:

当发生基于警报的中断(例如来电)时,应用临时移动到非活动状态,以便系统可以提示用户如何继续.

这是预期的变化吗?我可以在某处找到有关它的文档吗?有人可以分享这种变化的经验吗?

ios ios10

5
推荐指数
0
解决办法
456
查看次数