小编kmc*_*000的帖子

C#7有阵​​列/可枚举的解构吗?

在Javascript ES6中,您可以像这样构造数组:

const [a,b,...rest] = someArray;
Run Code Online (Sandbox Code Playgroud)

其中a是该阵列中的第一个元素,b是第二个,rest是与剩余的元件的阵列.

我知道在C#7中你可以在赋值时解构元组,但是找不到任何与解构数组/枚举相关的东西:

var (a,b) = someTuple;
Run Code Online (Sandbox Code Playgroud)

我有一个IEnumerable我需要第一个和第二个元素作为变量的地方,我需要其余的元素作为另一个IEnumerable.我有一个解决方案,但觉得解构会看起来更干净.

c# destructuring c#-7.0

37
推荐指数
7
解决办法
7539
查看次数

将ReactiveList <T>绑定到Xamarin Forms中的ListView

我觉得我这样做是正确的,但我不确定.我异步地将对象加载到ViewModel中的ReactiveList中.通过Xamarin Forms,我将List绑定到Xamarin Forms中ListView的ItemSource属性.我还有一个搜索框,它将清除ReactiveList并将新项添加到ReactiveList.

第一次打开View时,没有任何交互使列表加载,并且禁用了一个绑定到ReactiveCommand以将更多项加载到ReactiveList的按钮.

第二次打开View时,ListView几乎可以立即呈现新ViewModel中的项目,但同样,交互似乎不起作用.但是,更改搜索框实际上会清除ListView中的项目,但不会添加项目.

此行为是在iOS上.我是ReactiveUI 6.3.1和Xamarin Forms 1.3.2.6316.

这是简化的问题:

public class MyViewModel : ReactiveObject, IRoutableViewModel
{
    public MyViewModel(IScreen hostScreen = null)
    {
        HostScreen = hostScreen ?? Locator.Current.GetService<IScreen>();

        List = new ReactiveList<ItemViewModel>()
        {
            ChangeTrackingEnabled = true
        };

        //This never gets shown
        List.Add(new ItemViewModel()
        {
            Name = "TEST"
        });

        //Tried doing this on the main thread: same behavior
        LoadItemsCommand = ReactiveCommand.CreateAsyncTask(_ => GetItems()), RxApp.TaskpoolScheduler);

        LoadItemsCommand
            .ObserveOn(RxApp.MainThreadScheduler)
            .Subscribe(results =>
            {
                //debugger breaks here in EVERY case and successfully changes List but doesn't …
Run Code Online (Sandbox Code Playgroud)

listview xamarin.ios reactiveui xamarin.forms

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

v-for 键属性是全局唯一还是在特定 v-for 中唯一

文档并没有特别清楚该key属性在v-for. 我猜它们在 a 的特定实例中应该是唯一的v-for,并且您可能必须将v-for具有相同键的元素分开。

https://vuejs.org/v2/guide/list.html#key

如果我的页面上有一个具有 v-for 的两个实例的组件,它们是否都具有具有相同键的元素?

vue.js vuejs2

4
推荐指数
1
解决办法
579
查看次数