小编dev*_*747的帖子

使用lambda查找所有实体

我有List<Person>(人)每个人都有List<Kid>(孩子)

如果我想找到所有的孩子,在LINQ这就是我要做的

var kids=new List<Kids>();

foreach(var p in people)
{
    foreach(var kid in p.Kids)
    {
         kids.Add(kid);
    }
}
Run Code Online (Sandbox Code Playgroud)

使用LINQ有一种单行方式吗?

c# linq

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

C#threadpooling麻烦

我是线程新手,所以请原谅我,如果我的问题是业余水平.下面的例子是我想要做的简化版本.如果方法go是静态的,我希望它在Go不是静态时工作.我如何使其工作.

using System;
using System.Threading;
using System.Diagnostics;



public class ThreadPoolExample
{
    static void Main()
    {

           for (int i = 0; i < 10; i++)
           {

               ThreadPool.QueueUserWorkItem(Go, i);
           }
           Console.ReadLine(); 



    }

     void Go(object data)    
    {

        Console.WriteLine(data); 
    }
}
Run Code Online (Sandbox Code Playgroud)

如果有人能够完成这项工作并添加一条通知,表明所有线程都已完成执行,那就太棒了.

c# threadpool

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

使用LINQ遍历对象树

一个国家有一份州名单.州有一个城市列表.找到拥有邮政编码11201的城市的州.

我该怎么做呢?

当我做

Country.States.SelectMany(
                           s => s.Cities.Where(c => c.Zip ==11201)
                         )
                          .Select(s => s);
Run Code Online (Sandbox Code Playgroud)

我得到的是城市而不是国家.

c# linq

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

是否有IIS设置提示浏览器进入兼容模式?

我可以通过在响应头中传入X-UA-Compatible 来修改IE呈现页面的文档模式.我可以通过修改IIS中的设置来实现此目的. 在此输入图像描述

同样有没有办法通过修改IIS中的任何设置将浏览器模式修改为兼容性视图?

下面显示的是我目前在F12工具中看到的ie.

f12截图

html iis-7 http

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

如果我使用异步,不应该使用更少的线程数?

我的理解是,如果我使用异步,线程会发出Web请求并继续前进.当响应返回时,另一个线程从那里拾取它.因此,有较少数量的捆绑线程处于空闲状态.这不意味着最大活线程数会下降吗?但在下面的示例中,不使用异步的代码最终使用较少数量的线程.有人可以解释为什么吗?

没有异步的代码(使用较小的线程):

using System;
using System.Diagnostics;
using System.IO;
using System.Net;
using System.Threading;

namespace NoAsync
{
    internal class Program
    {
        private const int totalCalls = 100;

        private static void Main(string[] args)
        {
            for (int i = 1; i <= totalCalls; i++)
            {
                ThreadPool.QueueUserWorkItem(GoogleSearch, i);
            }

            Thread.Sleep(100000);
        }

        private static void GoogleSearch(object searchTerm)
        {
            Thread.CurrentThread.IsBackground = false;
            string url = @"https://www.google.com/search?q=" + searchTerm;
            Console.WriteLine("Total number of threads in use={0}", Process.GetCurrentProcess().Threads.Count);
            WebRequest wr = WebRequest.Create(url);
            var httpWebResponse = (HttpWebResponse) wr.GetResponse();
            var reader = …
Run Code Online (Sandbox Code Playgroud)

c# async-await c#-5.0

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

使用lambda可以用更少的代码完成吗?

我有List<Person>(人)每个人都有List<Kid>(孩子)

如果我想找到所有5岁以下孩子的人,我会做这样的事情

var peopleWithLittleKids=new List<Person>()

foreach(var p in people)
{
    foreach(var kid in p.Kids)
    {
        if(kid.age<5)
        {
            peopleWithLittleKids.Add(p);
            break;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有一种方法使用lambda这样做?

c# linq lambda

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

EXTjs:Uncaught TypeError:controller.setView不是函数

我试图让这个在sencha小提琴中工作.如果我运行它,我在控制台日志中看到此错误"Uncaught TypeError:controller.setView不是函数".它仅在我从视图中删除控制器声明时才有效.我究竟做错了什么?

Ext.define('MyApp.controller.Whatever', {
    extend: 'Ext.app.Controller',
    alias: 'controller.Whatever',
    init: function() {
        alert("Yes!");
    }
});

Ext.define('MyApp.view.Whatever', {
    extend: 'Ext.form.Panel',
    controller: 'Whatever',
    title: 'Hello',
    width: 200,
    html: '<p>World!</p>',
    renderTo: Ext.getBody()
});

Ext.application({
    name: 'MyApp',
    launch: function() {
        Ext.create('MyApp.view.Whatever');
    }
});
Run Code Online (Sandbox Code Playgroud)

基于下面的答案,这工作

Ext.define('MyApp.controller.Whatever', {
    extend: 'Ext.app.ViewController',
    alias: 'controller.Whatever',
    init: function() {
        alert("Yes!");
    }
});

Ext.define('MyApp.view.Whatever', {
    extend: 'Ext.form.Panel',
    alias:'widget.Whatever',
    controller: 'Whatever',
    title: 'Hello',
    width: 200,
    html: '<p>World!</p>',
    renderTo: Ext.getBody()
});

Ext.application({
    name: 'MyApp',
    launch: function() {
        Ext.create('MyApp.view.Whatever');
    }
});
Run Code Online (Sandbox Code Playgroud)

javascript extjs

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

如何在循环中调用可完成的未来并结合所有结果?

我正在努力实现这样的目标.这是一个表达意图的组成示例.

我想要所有可完成的期货执行并将所有结果合并到一个结果并返回.因此,对于下面的示例,集合allResults应该具有字符串"one","two","three",每个3次.我希望他们都能并行而不是连续运行.

任何指向我可用于实现此目的的可完成未来的API的指针都将非常有用.

public class Main {


    public static void main(String[] args) {

        int x = 3;
        List<String> allResuts;

        for (int i = 0; i < x; i++) {

           //call getCompletableFutureResult() and combine all the results
        }

    }

    public static CompletableFuture<List<String>> getCompletableFutureResult() {

        return CompletableFuture.supplyAsync(() -> getResult());
    }

    private static List<String> getResult() {


        List<String> list = new ArrayList<>();
        list.add("one");
        list.add("two");
        list.add("three");

        return list;
    }


}
Run Code Online (Sandbox Code Playgroud)

java completable-future

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

有没有办法在go中获取主机上所有打开的http连接?

我有一个网络服务器。有没有办法可以获取该主机上所有打开的 http 连接?

go go-http

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

当 String 参数用于锁定时,锁定在哪个对象上?

我在其中一个 repos 中遇到了这样的代码。我检查了它并且它有效。(只有一个线程进入同步块。)

public Void hello(String s) {

    synchronized (s) {

        i++;
        System.out.println(i);
    }

    return null;
}
Run Code Online (Sandbox Code Playgroud)

我的问题是在 String 类本身上获得了锁吗?如果是,是否意味着如果这样的代码存在于代码库中的其他位置,它们都将等待获得对同一对象的锁定?从而增加不必要的延迟?

java multithreading synchronization locking

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