小编Pra*_*kar的帖子

.net6 & MoreLinq:System.Linq.Enumerable.DistinctBy 和 MoreLinq.MoreEnumerable.DistinctBy 之间的调用不明确

最近我升级了我的一个项目以使用.NET 6. 早些时候,我使用MoreLinq库将DistinctBy()其应用于特定属性。

现在,当我将 TargetFramework 升级到时.NET 6,此更改提供了对DistinctBy().

现在编译器对DistinctBy()需要选择哪个感到困惑,我不能依赖System.Linq,因为删除using MoreLinq会导致多个其他错误。

我知道如果我们在相同的方法之间遇到歧义,那么我们可以使用using alias,但我不确定如何使用using aliasLinq 扩展方法。

这是错误:

在此输入图像描述

我可以在下面的小提琴中复制相同的问题

在线尝试

c# linq morelinq .net-6.0

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

C# 只有一个编译单元可以有顶级语句

我刚刚开始学习 C#,我创建了 C# 控制台应用程序。为了理解这些概念,我观看了如何为 C# 设置与代码的视频

dotnet new console当我在 VS code 终端中运行命令时,它会创建一个包含Program.cs文件的新项目。

在视频中,该Program.cs文件看起来像这样

// Program.cs
using System;
namespace HelloWorld
{
  class Program
  {
    static string Main(string[] args)
    {
      Console.WriteLine("Hello, World!");
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

Program.cs在我的 IDE 中看起来像,

// Program.cs
// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!");
Run Code Online (Sandbox Code Playgroud)

当我使用终端运行代码时,dotnet run它在我的计算机上完美运行。

当我创建一个新的 cs 文件时,它包含

// hello.cs
Console.WriteLine("hello world");
Run Code Online (Sandbox Code Playgroud)

运行后它说 Only one compilation unit can have top-level statements.

当我使用类方法和命名空间时

// hello.cs
namespace helloworld
{
    class …
Run Code Online (Sandbox Code Playgroud)

.net c# entry-point visual-studio-code toplevel-statement

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

如果不存在,则在 azure 存储中创建 blob 容器

我正在尝试在 python 中的 azure 存储中创建 blob 容器。我正在使用MSDN提供的文档将 azure blob 存储集成到我的 python 程序中。

这是代码:

# Quick start code goes here
connectStr = <connString>
blobServiceClient = BlobServiceClient.from_connection_string(connectStr)
containerName = "quickstart-azureStorage"
localFileName = "quickstart-1.txt"
blobClient = blobServiceClient.create_container(containerName)
Run Code Online (Sandbox Code Playgroud)

create_container()第一次创建 blob 容器,但第二次给我错误。

如果不存在,我想创建 blob 容器。如果存在,则使用现有的 blob 容器

我正在使用 azure 存储库版本 12.0.0。IEazure-storage-blob==12.0.0

我知道我们可以使用以下代码为该容器中存在的 blob 执行此操作,但我没有找到任何用于创建容器本身的内容。

检查 blob 是否存在:

blobClient = blobServiceClient.get_blob_client(container=containerName, blob=localFileName)
if blobClient:
    print("blob already exists")
else:
     print("blob not exists")
Run Code Online (Sandbox Code Playgroud)

例外:

RequestId:<requestId>
Time:2019-12-04T06:59:03.1459600Z
ErrorCode:ContainerAlreadyExists
Error:None
Run Code Online (Sandbox Code Playgroud)

python azure azure-storage azure-storage-blobs azure-blob-storage

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

使用“多类型”属性序列化 Json 对象

我正在关注使用 ASP.NET Core 和 MongoDB教程创建 Web API

而且我缺少一些非常基本的东西,即如何序列化具有可能是“多类型”属性的 Json 对象。也就是说,这个属性可以是一个字符串,也可以是另一个对象。

这是教程中的原始 Json 示例:

{
  "_id" : ObjectId("5bfd996f7b8e48dc15ff215d"),
  "Name" : "Design Patterns",
  "Author" : "Ralph Johnson"
}
Run Code Online (Sandbox Code Playgroud)

这是教程中的原始 POCO 模型:

public class Book
{
    [BsonId]
    [BsonRepresentation(BsonType.ObjectId)]
    public string Id { get; set; }

    [BsonElement("Name")]
    public string BookName { get; set; }
    public string Author { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

当我在 WebApi 控制器上调用“发布”和“获取”操作时,原始 Json 模型被正确序列化为 Book 实例,保存到数据库中并按预期从 Web 服务中正确检索。

但是,我需要添加一个“MultiUse”属性,其中MultiUse可以是字符串或对象,也可以是其他内容,例如:

{
 "_id" : ObjectId("5bfd996f7b8e48dc15ff215d"),
 "Name" : "Design …
Run Code Online (Sandbox Code Playgroud)

c# json mongodb mongodb-.net-driver asp.net-core

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

跳过等待任务响应条件

我有以下代码:

//Await #1

var response1 = await doSomething();

if(response1.isSuccess) {

//Await #2

var response2 = await doSomethingElse();

}
Run Code Online (Sandbox Code Playgroud)

响应 1 和响应 2 是完全独立的,我想在这里并行化等待任务。基本上响应 2 需要很多时间,因此只有在响应 1 成功时才会调用。有什么方法可以调用这两个任务并查看响应 1 的结果,如果失败,我删除/跳过 Await#2 的响应。

c#

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

蛋糕构建角度应用程序部署到天蓝色

我使用命令创建了一个角度应用程序ng new APPNAME.我想使用cake build来部署这个应用程序.是否可以使用蛋糕搭建?如果是这样的话?我的目标是将它部署到azure,但我需要使用Cake构建.我已将所有源代码上传到git repository.

deployment build cakebuild angular

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

如果条件在rdlc报告中显示"是"如果列返回true值并且如果它显示false则返回"否"如何应用

我正在研究rdlc报告,我在rdlc报告中有一个专栏,我想如果有真值,请回答"是",如果有错误返回"否",我尝试了以下代码,但它不起作用

= IIF(场!Application.value)= "真", "是", "否"))

提前致谢.

report rdlc

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

Visual Studio代码:程序有多个入口点定义?

在将其标记为副本之前,请先阅读说明.

使用visual studio代码创建了C#项目.这个项目包含两个.cs文件Addition.cs和Substraction.cs这两个文件都包含main()函数,这两个文件包含两个不同的程序.

Addition.cs文件中的代码

using System;

namespace Example
{
    class Addition
    {
        static void Main(string[] args)
        {
            int sum = 3 + 2;
            Console.WriteLine(sum);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Substraction.cs文件中的代码

using System;

namespace Example
{
    class Substraction
    {
        static void Main(string[] args)
        {
            int sub = 3 - 2;
            Console.WriteLine(sub);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我想逐个测试这个程序,但是当我这样做的时候

"dotnet run"

它失败并出现上述错误.

我知道因为同一项目中的两个main()函数(入口点)创建了这个错误,但是这可以通过设置启动项目在visual studio中克服.

我正在使用Visual Studio代码,我无法设置启动项目.有没有办法在visual studio代码中设置c#项目的入口点?

c# csproj visual-studio visual-studio-code

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

如何验证检查日期时间输入是否符合 ISO 8601

我尝试验证输入,然后我可以获得我想要的输入。

例子:

if (string != validate(string)) 
       then not valid
else 
       then valid
Run Code Online (Sandbox Code Playgroud)

输入和预期输出

2017-03-17T09:44:18.000+07:00 == valid

2017-03-17 09:44:18 == not valid
Run Code Online (Sandbox Code Playgroud)

c# validation datetime iso8601

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

如何手动将对象列表映射到 DTO 列表?

我有这些:

public class FamilyHead
{
    public Guid HeadId { get; set; }
    public string Name { get; set; }
}

public class Citizen
{
    public Guid Id { get; set; }
    public string Name { get; set; }
    public short Age { get; set; }
    // more properties
    [ForeignKey("FamilyHead")]
    public Guid HeadId { get; set; }

    public virtual FamilyHead FamilyHead { get; set; }
}

public class CitizenDTO
{
    public Guid Id { get; set; }
    public string Name { …
Run Code Online (Sandbox Code Playgroud)

c# linq asp.net-mvc

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