小编Evg*_*nov的帖子

如何重启RabbitMQ服务

我在重启rabbitmq服务时遇到一个奇怪的错误,因此我无法重启RabbitMQ服务.我从EventViewer收到此消息并试图通过谷歌搜索找到解决方案,但没有运气..请建议.

RabbitMQ:Erlang机器自愿停止.由于OnFail设置为ignore,因此不会重新启动该服务.

谢谢

windows-services rabbitmq

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

C#指针类型的默认值

我一直在搜索C#语言规范,我找不到任何说明指针类型(例如int*)是否使用默认值初始化的内容.我创建了一个简单的测试应用程序,似乎将它们初始化为零,但我想用规范确认.

我开始寻找这个,因为我注意到在反射器中IntPtr类使用此代码来定义它IntPtr.Zero:

public struct IntPtr : ISerializable
{
   private unsafe void* m_value;
   public static readonly IntPtr Zero;

   .......

   public static unsafe bool operator ==(IntPtr value1, IntPtr value2)
   {
       return (value1.m_value == value2.m_value);
   }

   ........
}
Run Code Online (Sandbox Code Playgroud)

这意味着当你与IntPtr.Zero它进行比较时,实际上是与分配给m_value具有类型的字段的默认值进行比较void*.

谢谢.

c# pointers unsafe

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

在 C# 上将 richTextBox 内容保存到 .txt 文件

当你编写这段代码时:

    string path = @"c:\temp\MyTest.txt";
    // This text is added only once to the file.
    if (!File.Exists(path))
    {
        // Create a file to write to.
        string[] createText = { "Hello", "And", "Welcome" };
        File.WriteAllLines(path, createText);
    }
Run Code Online (Sandbox Code Playgroud)

结果

现在我想将 richTextBox 内容的每一行保存到 .txt 文件的新行,如结果图像。我编写代码如下:

private void button1_Click(object sender, EventArgs e)
{
     richTextBox1.AppendText(textBox1.Text +"\n");
     System.IO.File.WriteAllText(@"C:\Users\Mohammad_Taghi\Desktop\ab\a.txt", richTextBox1.Text + Environment.NewLine);            
}
Run Code Online (Sandbox Code Playgroud)

但是,结果是 结果2

c# richtextbox winforms

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

NetMq套接字是线程安全的吗?

我使用私有字段(PushSocket- zmq_push socket for netmq)

private PushSocket _pushSocket;
Run Code Online (Sandbox Code Playgroud)

以及在不同线程中使用此套接字的两种方法

public void Method1()
{
    //.....//
    _pushSocket.SendFrame(....);
    //.....//
}

public void Method2()
{
    //.....//
    _pushSocket.SendFrame(....);
    //.....//
}
Run Code Online (Sandbox Code Playgroud)

我应该使用lock或其他同步原语吗?

c# multithreading zeromq low-latency netmq

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

List <T>或集合的编码样式"ref"

我有改变List类型的参数的函数(改变内部对象状态).例如:

    public void ChangeList<T>(List<T> source, T value)
    {
        //Actions
        source.Add(value);
        //Actions
    }
Run Code Online (Sandbox Code Playgroud)

什么是功能签名更好?为什么?

第一: public void ChangeList<T>(List<T> source, T value)

要么

第二: public void ChangeList<T>(ref List<T> source, T value)

编辑:问题可以改变.如何明确指定函数更改列表的状态?(函数名称或ReadonlyCollection除外)

c# coding-style

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

排序和匹配列表项

我有以下列表,其中每个列表项具有StartEnd值.请注意每个列表项的End值与下一个List项的Start值匹配.

tableItems.Add (new SettingsCellItem() {Start=1000, End=4000});
tableItems.Add (new SettingsCellItem() {Start=4000, End=6000});
tableItems.Add (new SettingsCellItem() {Start=6000, End=8000});
tableItems.Add (new SettingsCellItem() {Start=8000, End=11300});
tableItems.Add (new SettingsCellItem() {Start=11300,End=12000});
Run Code Online (Sandbox Code Playgroud)

允许用户仅更新Start值,当用户输入新Start值时,应在Start再次显示之前根据值对List进行排序.

假设用户将第二个列表项更新{Start=4000,End=6000}{Start=140,End=6000}

List<SettingsCellItem> sortedList =tableItems.OrderBy(o=>o.Start).ToList();
Run Code Online (Sandbox Code Playgroud)

我得到了以下输出.当您观察到End值不再与Start值匹配时.

电流输出:

{Start=140,  End=6000}
{Start=1000, End=4000}
{Start=6000, End=8000}
{Start=8000, End=11300}
{Start=11300,End=12000}
Run Code Online (Sandbox Code Playgroud)

我想知道我怎么能得到以下内容:

期望的输出

{Start=140,  End=1000}
{Start=1000, End=6000}
{Start=6000, End=8000}
{Start=8000, End=11300}
{Start=11300,End=12000}
Run Code Online (Sandbox Code Playgroud)

c# linq list

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