或许难以理解,但让我解释一下.我有一个List- Channel对象,都有一个ChannelId属性(int).我也有一个不同的List(int) - SelectedChannelIds,它包含ChannelId-s 的子集.
我想选择(通过LINQ?)所有- 在第二个Channel中具有ChannelId匹配的属性的对象List.
换句话说,我有以下结构:
public class Lists
{
public List<Channel> AllChannels = ChannelController.GetAllChannels();
public List<int> SelectedChannelIds = ChannelController.GetSelectedChannels();
public List<Channel> SelectedChannels; // = ?????
}
public class Channel
{
// ...
public int ChannelId { get; set; }
// ...
}
Run Code Online (Sandbox Code Playgroud)
关于LINQ查询会是什么样子的任何想法?还是有更有效的方法?我正在编写Windows Phone 7,fyi.
当我减去两个Date对象时,如下所示:
const startTime = new Date();
await someAsyncStuff();
const endTime = new Date();
const elapsedTime = endTime - startTime;
console.log(`The async stuff took ${elapsedTime} ms`);
Run Code Online (Sandbox Code Playgroud)
为什么Date对象最终被强制转换为毫秒,然后被减去?我知道他们这样做了,但我无法弄清楚导致这种情况的实际事件顺序是什么.
为了提高WrapPanel的性能,我已经为我的WP7应用程序引入了线程.在一个列表中有很长List的Item对象,逐个添加到另一个列表中.我有以下两个清单:
public List<Item> OriginalItems;
public List<Item> CopyOfItems;
Run Code Online (Sandbox Code Playgroud)
放在BackgroundWorker.DoWork事件处理程序中的逻辑如下:
workerThread.DoWork += new DoWorkEventHandler((object sender, DoWorkEventArgs e) =>
{
foreach (var item in OriginalItems)
{
Deployment.Current.Dispatcher.BeginInvoke(() =>
{
CopyOfItems.Add(item);
});
// I feel sooo sleepy
}
});
Run Code Online (Sandbox Code Playgroud)
现在,当我用Thread.Sleep(150)- 替换我的注释时,这很好用- 但是任何更少(并且偶尔使用更大的值)会使代码连续多次放在同一个元素中.
这是为什么,以及如何解决?
我正在用react,redux和react-router创建一个小应用程序.
我有一个包含的项目列表<Link />,当我单击其中一个时,我希望currentItem在触发链接操作之前将项目设置为处于状态.有一个动作要做 - selectItem(item)- 但我不知道如何触发它.
我应该触发componentWillUnmount吗?在这种情况下 - 我如何找出点击了哪个项目?我应该创建一个<Link onClick={}/>调度操作的处理程序吗?
然后,项目页面将检查currentItem是否已设置,如果没有,则可能从后端获取它.
我正在尝试使用 inset 创建一个“增强型”单选按钮box-shadow。
我想要做的是将 的背景.radio-button <div />用作box-shadow. 在我当前的解决方案中,颜色设置为#fff,它适用于白色背景,但不适用于灰色背景。
currentColor设置为将框阴影的颜色设置为border-color值,即#333;inherit似乎禁用了 box-shadow,至少在 Chrome 中是这样。我猜在某种程度上是有道理的,我假设inherit它不适用于像这里这样的财产的一部分。color,即黑色。有没有办法在没有 JavaScript 的情况下实现我想做的事情?