小编boh*_*nko的帖子

使用lambda的ObservableCollection切片

我有ObservableCollection<ViewUnit> _myItems领域,在哪里的ViewUnit工具INotifyPropertyChanged

ViewUnit拥有Handled : bool财产。

WPF应用程序的主视图具有ListBox与绑定的_myItems

我只想单独查看未处理的项目,也就是说,要IObservableCollection<>依赖于现有的_myItems但只有已过滤的项目,最好使用lambda表达式。

理想情况下,这将是

IObservableCollection<ViewUnit> _myFilteredCollection = HelperClass<ViewUnit>.FromExisting(_myItems, (e) => !e.Handled);
Run Code Online (Sandbox Code Playgroud)

我可以自己实现。我只是觉得有人解决了这个问题,并且有很好的解决方案(我只是不知道它的名字)。

.net data-binding wpf lambda observablecollection

3
推荐指数
1
解决办法
593
查看次数

F#Interactive - 当后者可枚举时,如何使其打印对象的属性

在示例中显示更容易.如果我将以下内容发送给F#interactive

type Person = {Name : string; Age : int}
let joe = {Name = "Joe"; Age=30}
Run Code Online (Sandbox Code Playgroud)

输出是:

type Person =
  {Name: string;
   Age: int;}
val joe : Person = {Name = "Joe";
                    Age = 30;}
Run Code Online (Sandbox Code Playgroud)

Fsi非常聪明,可以打印所有属性.

逐行发送以下内容

let l = new List<int>()
l
Run Code Online (Sandbox Code Playgroud)

结果是

val l : List<int>
val it : List<int> = seq []
Run Code Online (Sandbox Code Playgroud)

Fsi看到了这个l实现IEnumerable,并且(正确地)认为这是我期望看到的.但也有其他的属性l,特别是CountCapacity.(这对于列表来说并不重要,但在我的情况下它适用于复杂类型)

如何使F#交互式打印出对象的属性并忽略它IEnumerable(就像Person第一个例子中的类型一样)

f# f#-interactive

3
推荐指数
1
解决办法
965
查看次数

检索可执行信息

右键单击.exe文件时,可以看到各种详细信息,例如文件描述.

我正在寻找以编程方式检索数据的方法(最好是从C#).

(程序名称,程序描述,供应商名称,供应商网站等)

替代文字

.net c# shell

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

有没有人成功使用ThinApp的Visual Studio?

目的是让USB闪存在任何地方都有开发者席位.我们的想法是使用应用程序虚拟化来打包Visual Studio.

但是,AFAIK存在很大问题.

有没有人使用ThinApp,App-V成功打包Visual Studio(2010年,2008年)......

PS我知道谷歌.

virtualization visual-studio

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

为什么在.Net中使用"新的EventHandler(处理程序)"?

在VisualStudio 2008和2010中,当我输入时,例如

this.Activated += 
Run Code Online (Sandbox Code Playgroud)

并按Tab键,VisualStudio会自动补充该行:

this.Activated += new EventHandler(MainWindow_Activated);
Run Code Online (Sandbox Code Playgroud)

但更简单,更简洁的版本也适用:

this.Activated += MainWindow_Activated;
Run Code Online (Sandbox Code Playgroud)

这些线是否相同?new EventHandler可能有一个原因......

.net event-handling visual-studio

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

Python的多线程代码比单线程慢

我首先在生产代码中观察到这个问题,然后做了一个原型:

import threading, Queue, time, sys

def heavyfunc():
    ''' The idea is just to load CPU '''
    sm = 0
    for i in range(5000):
        for j in range(5000):
            if i + j % 2 == 0:
                sm += i - j
    print "sm = %d" % sm

def worker(queue):
    ''' worker thread '''
    while True:
        elem = queue.get()
        if elem == None: break
        heavyfunc()           # whatever the elem is


starttime = time.time()  

q = Queue.Queue()             # queue with tasks

number_of_threads …
Run Code Online (Sandbox Code Playgroud)

python multithreading

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

asp.net mvc 4.5:让 HostingEnvironment.QueueBackgroundWorkItem 工作

控制器完成他的工作后,我试图完成一些轻量级任务,我HostingEnvironment.QueueBackgroundWorkItem()为此而使用。

我看到了一个奇怪的行为,所以我为此制作了一个人为的概念验证应用程序。

在我的global.asax.cs我有这个不错的功能:

public class MvcApplication : HttpApplication
{
    private static NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger();

    public static void ContinueWorkOnBackground(Task workItem)
    {
        workItem.ContinueWith(t =>
        {
            if (t.IsFaulted)
            {
                var ex = t.Exception;
                logger.Error(ex);
            }
        });
        HostingEnvironment.QueueBackgroundWorkItem(_ => workItem);
    }
Run Code Online (Sandbox Code Playgroud)

在我的控制器中,我创建了一个工作项并将其扔到那里:

public ActionResult About()
{
    logger.Info("About");
    ViewBag.Message = "Your application description page.";
    MvcApplication.ContinueWorkOnBackground(TestWorkItem());
    return View();
}

private async Task TestWorkItem()
{
    logger.Trace("TestWorkItem");
    await Task.Delay(500);
    logger.Trace("let's fail");
    throw new NotImplementedException();
}
Run Code Online (Sandbox Code Playgroud)

我在日志中看到消息“TestWorkItem”,但从来没有“让我们失败”,也没有关于错误的消息。

我还HostingEnvironment.QueueBackgroundWorkItem((Func<CancellationToken,Task>)(_ => workItem)); …

asp.net-mvc task-parallel-library asp.net-mvc-4

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

SOAP Web服务(.net)中数据库连接的适当位置

我有一个asp.net网站和一个数据库.

该网站有一个Web服务,用于存储我的软件的反馈.

据我所知,IIS将重复使用创建的对象进行顺序请求.这给出了在Web服务的构造函数中连接到DB的正确实现Dispose()方法的原因,并使用连接来为每个服务器提供服务[WebMethod] Request().当前版本遵循这些模式.

另一方面,我担心顺序请求到webservice之间的时间跨度将大于数据库连接超时.因此,我需要捕获一些异常并重新创建连接(对吗?)

另一种方法是在每个中连接和关闭[WebMethod] Foo().但我担心这可能会影响性能.

总而言之,我应该在构造函数中连接到DB并关闭连接Dispose()或连接并关闭每个请求的DB吗?

.net database asp.net entity-framework web-services

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

C#到F#类转换

我很久以前就是C#dev.

我学习F#并将其用于科学目的/研究/认可工作.我发现它的许多功能强大,但我正在努力编写类 - 我知道在C#中做得非常好.

什么会帮助我(和社区)翻译以下C#代码.

class CoolAttribute : Attribute
{
}

class BaseClass
{
    public BaseClass(int zzz)
    {
        // zzz doesn't matter; what matters is that zzz is required
    }

    public virtual void XHello()
    {
        Console.WriteLine("I'm BaseClass.");
    }
}

interface IFirst
{
    void Hello();
}

interface ISecond
{
    int MagicNumber();
}

[DebuggerDisplay("pubI = {pubI}")]
class SampleClass : BaseClass, IFirst, ISecond
{
    private int privI;
    protected int protI;
    public int pubI;

    private static string s_privStr;

    static SampleClass()
    {
        s_privStr = ""; …
Run Code Online (Sandbox Code Playgroud)

syntax f# c#-to-f#

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

了解并发和GPU作为有限资源

借助CPU和内存,操作非常简单。

进程具有较大的虚拟地址空间,该地址部分映射到物理内存中。当当前进程尝试访问不在物理内存中的页面时,OS介入,选择要交换的页面(例如,使用Round Robin),将其交换到磁盘中,然后从交换中读取所需的页面,并且控件为回到过程。这很简单,因为如果没有该页面,该过程将无法继续。

GPU内核是另一回事。

让我们考虑一个用例:
一个高优先级[cpu]进程,即X,对内核进行调用(这是一个阻塞调用)。此时,操作系统切换上下文并将CPU分配给另一个进程(即Z)是合理的。举例来说,让进程Z对GPU也做一些繁重的工作。

现在,GPU驱动程序做什么?它是否停止了属于[更高优先级] X的内核?它是否通知OS Z的优先级不足以卸载X的内核?通常,当两个进程需要GPU资源但可用的GPU内存足以一次仅服务其中一个时,会发生什么情况?

theory cuda gpgpu opencl

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

golang中的早期或晚期参数评估?

在我的程序中,我以这种方式进行了一系列顺序检查:

var value int

if !(ParseOrFail(inputStrVal, &value) &&
     Validate(value)) {
    return SomeErr
}
Run Code Online (Sandbox Code Playgroud)

我知道Validate只有在ParseOrFail返回 true 时才会调用它,但我不确定在所有这些情况下它是否会获得更新的值。

这样做是否正确?或者我必须将指针传递给Validate

游乐场链接:https : //play.golang.org/p/l6XHbgQjFs

go

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

OneDrive 中“虚拟文件”背后的 Windows API

OneDrive 文件夹可以显示文件,就像存在一样,但它们不在磁盘上。

https://support.microsoft.com/en-us/office/save-disk-space-with-onedrive-files-on-demand-for-windows-10-0e6860d3-d9f3-4971-b321-7092438fb38e

我想以编程方式创建一个类似的文件夹。OneDrive 客户端使用什么 API?

winapi virtualfilesystem onedrive

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