小编Lau*_*oun的帖子

列表的平均值

我想制作第一次点击开始rotorSpeed秒表然后第二次点击添加rotorSpeed.ElapsedMilliseconds到的代码list.在第二次点击重置秒表开始计时一次,然后在第三次点击再加rotorSpeed.ElapsedMillisecondslist.代码中没有错误,但是当我调试它时,我收到错误double average = list.Average();

Stopwatch rotorSpeed = new Stopwatch(); List<double> list = new List<double>();

private void button1_Click(object sender, EventArgs e)
{
    i++;
    //Getting rotor speed
    if (i != 2)
    {               
        if (rotorSpeed.IsRunning)
        {
            rotorSpeed.Stop();
            list.Add(rotorSpeed.ElapsedMilliseconds);
            rotorSpeed.Start();                   
        }
        else
        {
            rotorSpeed.Reset();
            rotorSpeed.Start();
        }
    }

    double average = list.Average();
    textBox2.Text = average.ToString();
}
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误:

> System.Core.dll中发生了未处理的"System.InvalidOperationException"类型异常

附加信息:序列不包含任何元素

c# list stopwatch

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

System.Threading.Timer.Timer()的最佳重载方法匹配具有一些无效参数

我正在制作一个控制台应用程序,必须在定时间隔内调用某个方法.

我已经搜索过了,发现System.Threading.Timer该类可以实现这样的功能,但我并没有完全遵循如何实现它.

我试过这个:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Threading;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Timer x = new Timer(test, null, 0, 1000);
            Console.ReadLine();
        }

        public static void test()
        {
            Console.WriteLine("test");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但我Timer x = new Timer(test, null, 0, 1000);在行上写了一个错误:

对于System.Threading.Timer.Timer(System.Threading.TimerCallback,对象,INT,INT)"最好重载的方法匹配具有一些无效参数

我真的不知道如何使这项工作正常,但如果有人有链接或某些东西可以解释初学者的计时器,我将不胜感激.

.net c# multithreading timer

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

Visual Studio 2017 - 无法从现有代码生成类图

我创建了一个包含很多类的.NET Core服务器项目.我需要生成一个类图UML,当我查看Microsoft文档站点(我认为它仅适用于vs2015)时,它告诉我单击"Architecture"菜单并单击"Add New Diagram",但我不能在任何地方都找不到这个按钮或功能.

这个功能不再受支持了,还是他们还没有添加这个功能呢?所有论坛都将其报告为错误,但论坛中没有解决方法.

我愿意接受建议.我也在使用VS Enterprise.

uml class-diagram visual-studio-2017

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

内容'\/Date('')\ /'不以'\/Date('和以')结尾,而是按JSON的要求开头

我想向WCF休息服务发送一个帖子请求,你可以看到:

Guid id;
id = Guid.NewGuid();

var httpWebRequest = (HttpWebRequest)WebRequest.Create("http://localhost:47026/NewsRepository.svc/AddNews");
httpWebRequest.ContentType = "application/json";
httpWebRequest.Method = "POST";
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
    string json = new JavaScriptSerializer().Serialize(new
    {       
        id = id,
        Subject="wfwf",
        ViewerCounter="1",
        Content="fsdsd",
        SubmitDatatime="2012/12/12",
        ModifiedDateTime="2012/12/12",
        PublisherName="sdaadasd",
        PictureAddress="adfafsd",
        TypeOfNews="adsadaad"                       
    });

    streamWriter.Write(json);
}
try 
{ 
    var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
    using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
    {
        var result = streamReader.ReadToEnd();
    }
}
catch(Exception er)
{
    MessageBox.Show(er.ToString());
}
Run Code Online (Sandbox Code Playgroud)

但我得到一个错误 - 400个错误请求.所以我跟踪了我的WCF日志文件,我发现了这个错误:

反序列化CMSManagement.Domain.Entity.News类型的对象时出错.DateTime内容'2012/12/12'不以'/ Date('和以')/'结尾,如JSON所要求的那样.

在亲爱的朋友@svek代码之后.结果是这样的:

Guid id;
id = Guid.NewGuid();

var httpWebRequest …
Run Code Online (Sandbox Code Playgroud)

c# wcf json web-services

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

在postgreSQL中找不到uninstall.dat文件

我想卸载PostgreSQL,然后再次重新安装。我发现该应用程序未正确安装。

我已经尝试了所有步骤来卸载它,但仍然会得到相同的结果。

单击“卸载”后,出现以下消息:

“找不到uninstall.dat文件,并且卸载该文件是必需的,正在中止”。

PostgreSQL中有一个uninstall.dat文件。我尝试在记事本和Editpad中进行更改,但仍然收到“找不到”消息。我尝试了很多次都没有成功。

请问对此有什么解决办法吗?

python database postgresql uninstall

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

我看不到我在项目中创建的文件夹

我一直在使用Microsoft Visual Studio 2012中的C#项目.由于我有很多C#文件,我决定根据它们的类型将它们放在几个文件夹中.例如interfaces文件夹和enumerations文件夹.

现在当我打开我的项目时,我看不到任何文件夹,所有的C#文件都不在文件夹中.我无法打开文件,因为它表示目录已更改或已被删除.我正在添加一张照片,以便您能够看到发生在我身上的事情.

错误消息框

c# visual-studio visual-studio-2012

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

在 C# 中将 JsonResult 转换为不同的对象

所以我有一个名为的对象Balance,其中包含:

public class Balance
{
   string balance1;
   string balance2;
   string currency;
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试将JsonResult不同函数调用返回的对象解析为Balance.

我试过使用JsonConvert.Serializeand Deseralize<Balance>,但是,我尝试解析的对象每次都设置为 null (即balance1 = null等)

任何帮助将非常感激。

编辑:

下面是我试图解析的代码。此外,我意识到数据访问JsonResult在一个名为的值中Data并显示为Data: { balance1: "800" balance2: "800" currency: "CAD"}.

JsonResult result = admin.GetCompanyBalance(test.CustomerID, test.DevelopmentID); 
string json = JsonConvert.SerializeObject(result);
Balance br = new Balance();
br = JsonConvert.DeserializeObject<Balance>(json);
Run Code Online (Sandbox Code Playgroud)

c# json object jsonresult

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

多对一迁移因外键长而失败

我有 2 个模型:

public class Text
{
    public long Id { get; set; }
    public string Text { get; set; }
}

public class User
{
    public int Id { get; set; }
    public ICollection<Text> Texts { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我建立在用户基础上的模型是

e.HasMany(o => o.Texts).WithOne().HasForeignKey(d => d.Id).IsRequired();
Run Code Online (Sandbox Code Playgroud)

当我尝试运行时:

dotnet ef 迁移添加

我收到此错误:

带有外键属性 {'Id' : long} 不能定位主键 {'Id' : int} 因为它不兼容。为此关系配置一个主键或一组兼容的外键属性。

更新:

新模型应该能够拥有表格文本的集合,例如:

public class Customer
{
    public int Id { get; set; }
    public ICollection<Text> Texts { get; set; …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework

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

完整.NET和.NET Core之间的WCF基本身份验证

我想使用基本身份验证在.NET核心应用程序和完整的.NET Web服务(托管在IIS中)之间建立WCF https连接。

在.NET Core端,我有一个ChannelFactory设置如下:

var binding = new BasicHttpBinding();
binding.Security.Mode = BasicHttpSecurityMode.Transport;
binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Basic;

factory = new ChannelFactory<T>(binding, new EndpointAddress(endpointAddress));
factory.Credentials.UserName.UserName = "abc";
factory.Credentials.UserName.Password = "xyz";
Run Code Online (Sandbox Code Playgroud)

在Web服务上,我有一个使用绑定配置的端点,如下所示:

<basicHttpBinding>
    <binding name="BasicHttpBinding" maxReceivedMessageSize="10485760">
      <security mode="Transport">
        <transport clientCredentialType="Basic" proxyCredentialType="None" realm=""/>
      </security>
    </binding>
  </basicHttpBinding>
Run Code Online (Sandbox Code Playgroud)

但是在运行时,我收到此错误消息:

System.ServiceModel.Security.MessageSecurityException: 'HTTP请求未经客户端身份验证方案'Basic'授权。从服务器收到的身份验证标头是“ Basic realm =“ localhost””。

我希望双方都说认证方案为“基本”,并且可以毫无问题地进行连接。我不知道领域来自何处,但我无法摆脱它。我认为这是造成问题的原因。

c# wcf wcf-binding .net-core

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

使用 Linq 来展平嵌套列表而不是 foreach 循环

我有一个经常性的课程 - 我在下面简化了它。

public class SiloNode
{
    public string Key { get; private set; }
    public string Url { get; private set; }
    public List<SiloNode> Children { get; private set; }
}
Run Code Online (Sandbox Code Playgroud)

尽管从理论上讲,它可以永远嵌套,但节点只会向下两层。因此,顶级节点可以有子节点,但子节点不能有子节点。

我有一个主列表,其中包含所有顶级节点及其嵌套子节点。

但是,我需要将所有节点放入一个平面列表中 - 节点 1,然后是它的子节点,然后是节点 2 等。

我在这方面的知识有限,但我可以做一些事情,比如foreach遍历主列表并创建一个新列表,如下所示:

public IEnumerable<SiloNode> GetLinks(IEnumerable<SiloNode> masterList)
{
    var newList = new List<SiloNode>();

    foreach (var node in masterList)
    {
        newList.Add(node);
        newList.AddRange(node.Children);
    }

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

但是,我知道可能有更好的方法,但我只是不知道如何将其转换foreachLinq执行相同操作的语句。换句话说,一起选择父项及其子项。

任何帮助表示赞赏。

c# linq asp.net

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