小编Cap*_*mic的帖子

在迭代期间从SortedList中删除是否安全

我的问题是枚举器从SortedList中删除项目是否安全?

SortedList<decimal, string> myDictionary;
// omitted code

IEnumerator<decimal, string> enum = myDictionary.GetEnumerator();

while(enum.MoveNext)
{
  // is it ok to remove here?
  myDictionary.Remove(enum.Current.Key);
}
Run Code Online (Sandbox Code Playgroud)

.net c# ienumerator

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

如何使应用程序停止并运行调试器?

我有.NET服务,我需要调试它.

当它到达代码中的某个位置并启动调试器时,我希望它停止.有人可以提供一些代码示例吗?

UPDATE

简单地添加

Debugger.Launch(); 
Run Code Online (Sandbox Code Playgroud)

不适用于Windows服务.

.net c# debugging

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

需要将double或decimal转换为字符串

我需要将double转换为带有两个十进制数字的字符串,用'dot'分隔我的关注点是必须始终将dot用作分隔符.

.net c# string

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

如何将工具栏添加到Visual Studio加载项?

我创建了一个新的Visual Studio加载项项目.我的项目能够向Visual Stuido菜单添加命令.此代码由向导创建.如何将自定义工具栏添加到Visual Studio?

visual-studio-addins visual-studio-2008 vs-extensibility

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

为我的自定义对象提供 ToString()

我的班级有很多很多的属性。在我的程序中,我必须大量记录。通常我必须手动构建日志字符串,例如

string log = "Current state of object:" + "Property1" + myObj.Property1 + ...
Run Code Online (Sandbox Code Playgroud)
  1. 我只是想如果覆盖ToString并提供我需要的任何日志记录会怎样。这被认为是良好的做法吗?
  2. 如何提供格式化程序控制字符串?假设我希望 ToString 以两种模式运行,一种是完整输出所有属性,另一种是仅输出相关属性的轻型版本

类似 MyObj.ToString("full") 和 MyObj.ToString("basic")

.net c# string

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

如何在wordpress中显示标记链接

每个帖子后我都会显示标签

<?php
 global $post;
 foreach(get_the_tags($post->ID) as $tag) {
  echo '<li>'.$tag->name.'</li>';
  }
?>
Run Code Online (Sandbox Code Playgroud)

现在我需要显示标签不仅仅是文本,而是显示所有按给定标签过滤的帖子的链接,就像在单击问题下方的标签时在stackoverflow上一样.

  1. 怎么做?
  2. 什么页面模板将用于显示搜索结果?

php wordpress wordpress-theming

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

如何获取当前主题的网址?

医生说使用那个

<?php bloginfo(‘template_url’);?>
Run Code Online (Sandbox Code Playgroud)

但输出只是一个主题文件夹而不是完整的URL.

NB我的任务是获取我的主题文件夹中的PHP文件的URL

php wordpress wordpress-theming

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

Visual Studio - 启动项目未保存

我正在使用 Visual Studio 2015

我启动 Visual Studio,使用右键单击上下文菜单选择几个启动项目

然后我选择全部保存。关闭 Visual Studio。打开 Visual Studio。打开设置启动项目。

什么都没有保存。我想知道这个设置是否可以保存在某些用户设置中

visual-studio

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

无锁线程安全队列-需要建议

我需要设计一个线程安全的记录器。我的记录器必须具有一个Log()方法,该方法只是将要记录的文本排队。另外,记录器必须是无锁的-这样其他线程就可以在不锁定记录器的情况下记录消息。我需要设计一个工作线程,该线程必须等待一些同步事件,然后使用标准的.NET日志记录(不是线程安全的)记录队列中的所有消息。因此,我感兴趣的是工作线程和Log函数的同步。下面是我设计的课程的草图。我想我必须在这里使用Monitor.Wait / Pulse或任何其他方式来挂起和恢复工作线程。我不想在没有记录器的工作时花费CPU周期。

让我换一种说法-我想设计一个不会阻止使用它的调用者线程的记录器。我有一个高性能的系统-这是必需的。

class MyLogger
{
  // This is a lockfree queue - threads can directly enqueue and dequeue
  private LockFreeQueue<String> _logQueue;
  // worker thread
  Thread _workerThread;
  bool _IsRunning = true;

 // this function is used by other threads to queue log messages
  public void Log(String text)
{
  _logQueue.Enqueue(text);
}

// this is worker thread function
private void ThreadRoutine()
{
 while(IsRunning)
 {
   // do something here
 }
}    
}
Run Code Online (Sandbox Code Playgroud)

c# logging thread-safety lock-free

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

由于泛型基类,不能使用多态

我创建了基本泛型类,没有只有一个方法的字段

public class Base<T> where T:class
{
  public static T Create()
  {
     // create T somehow
  }
}

public class Derived1 : Base<Derived1>
{
}

public class Derived2 : Base<Derived2>
{
}


public class Program
{
    bool SomeFunction()
    {
     // Here I need reference to base class
     Base baseref; // error here 

     switch(somecondition)
     {
       case 1:
        baseref = Derived1.Create();
       break;

       case 2:
        baseref = Derived1.Create();
       break

     }

     // pass baseref somewhere     
    }
}
Run Code Online (Sandbox Code Playgroud)

一个明显的选择是将基类转换为接口,但这是不可能的,因为接口不能包含静态方法.

我想我需要一些中级基类.请建议

c# generics polymorphism

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