在Xamarin Studio和Visual Studio之间共享解决方案时,对解决方案/项目的更改会导致意外结果..sln / .project文件的源文本具有意外修改,例如
这例如在更改启动项目,添加引用项目,构建解决方案时发生.
这些变化导致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)?
在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重现了这种行为.在访问创建的对象之前调用ToList它IEnumerable会使这个问题消失.
在iOS 9中,警报通知显示在屏幕中央,并将当前应用程序移动到非活动状态.它们看起来像这样:

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

相应的设置适用于iOS 9:

相应的设置适用于iOS 10:

我很惊讶警报通知不会在iOS 10中将应用程序移动到非活动状态.我无法在iOS 10(开发人员)发行说明中找到任何关于此更改的提及.有关响应临时中断的相应Apple文档仍指出:
当发生基于警报的中断(例如来电)时,应用临时移动到非活动状态,以便系统可以提示用户如何继续.
这是预期的变化吗?我可以在某处找到有关它的文档吗?有人可以分享这种变化的经验吗?