小编Ill*_*ych的帖子

如何从IGrouping中获取值

我有关于IGrouping和Select()方法的问题.

让我说我有IEnumerable<IGrouping<int, smth>>这样的方式:

var groups = list.GroupBy(x => x.ID);
Run Code Online (Sandbox Code Playgroud)

列表是一个List<smth>.

现在我需要以IGrouping某种方式将每个值传递给另一个列表:

foreach (var v in structure)
{
    v.ListOfSmth = groups.Select(...); // <- ???
}
Run Code Online (Sandbox Code Playgroud)

任何人都可以建议如何List<smth>IGrouping<int, smth>这样的上下文中获取values()吗?

c# linq select igrouping

184
推荐指数
5
解决办法
18万
查看次数

如何在 Docker 中使用 Selenium 运行 dotnet 核心应用程序

我在 Docker 容器中运行了 dotnet core 2.2(aspnet core)应用程序。我正在使用您可以在任何基本教程中找到的最简单的 Dockerfile:

  • 使用microsoft/dotnet:2.2-sdk作为基本图像
  • 复制 *.csproj
  • 恢复包
  • 建造
  • 发布到 /app 文件夹
  • 用于microsoft/dotnet:2.2.1-aspnetcore-runtime从 /app 文件夹运行应用程序

现在我想从另一个网站获取一些数据。它是一个 SPA,所以我需要先使用浏览器来呈现页面 - 我决定将 Selenium 与 ChromeDriver 一起使用,因为我已经对它们有点熟悉了。

我已经添加Selenium.WebDriver v3.141Selenium.WebDriver.ChromeDriver v73.0在我的项目中设置了 Selenium。在本地 Windows 上它工作正常。但是当我通过 Docker 运行它时,我得到:

The file /app/chromedriver does not exist. The driver can be downloaded at http://chromedriver.storage.googleapis.com/index.html
Run Code Online (Sandbox Code Playgroud)

所以现在我想知道如何在 Docker 中使用 dotnet core 2.2 运行 Selenium + 单实例 Chrome(不需要为我的目的设置 Selenium Grid)。

我想我需要创建自定义 Dockerfile ,它:

  • 安装 selenium、chrome 及其所有依赖项
  • 安装 dotnet
  • 与我当前的 Dockerfile 一样构建和运行我的应用程序 …

c# selenium selenium-chromedriver docker .net-core

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

字符串插值 - 重复

有没有办法在不重复的情况下多次插值变量?

例如:

var name = "bla";
Console.WriteLine($"foo {name:repeat:2} bar")
Run Code Online (Sandbox Code Playgroud)

打印

foo blabla bar
Run Code Online (Sandbox Code Playgroud)

我特别感兴趣的是插入几个换行符而不是{Environment.NewLine}在插值掩码中重复几次,如下所示:

$"{Environment.NewLine}{Environment.NewLine}"
Run Code Online (Sandbox Code Playgroud)

c# string interpolation string-interpolation

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