相关疑难解决方法(0)

360
推荐指数
342
解决办法
288万
查看次数

你觉得怎么样?

您的评论最佳做法是什么?什么时候应该使用它们应该包含什么?或者甚至需要评论?

comments

24
推荐指数
4
解决办法
8221
查看次数

Guid.NewGuid()返回重复?

我们有一个应用程序为我们的某个服务生成模拟数据以进行测试.每个数据项都有一个唯一的Guid.但是,当我们在对模拟器进行一些次要代码更改后运行测试时,它生成的所有对象都具有相同的Guid.

创建了一个数据对象,然后是一个for循环,其中对象的属性被修改,包括一个新的唯一Guid,它通过远程处理发送到服务(可序列化,而不是编组,如果这就是你'思考),循环再做,等等.

如果我们在循环内部放置一个小的Thread.Sleep(...),它会生成唯一的id.我认为这是一个红鲱鱼.我创建了一个测试应用程序,它刚刚创建了一个guid,并没有得到一个副本.

我的理论是IL的优化方式导致了这种行为.但足够我的理论.你怎么看?我愿意接受测试的建议和方法.

更新:我的问题似乎有很多混乱,所以让我澄清一下.我不认为NewGuid()被破坏了.显然它有效.没关系!但是某处有一个bug会导致NewGuid():1)在我的循环中只调用一次2)在我的循环中每次调用但只分配一次3)其他我没想过的东西

这个bug可能出现在我的代码中(可能是MOST)或者在某个地方进行优化.

所以重申我的问题,我应该如何调试这个场景?

(谢谢你的精彩讨论,这真的帮助我澄清了我心中的问题)

更新#2:我想发布一个显示问题的例子,但那是我问题的一部分.我不能在整套应用程序(客户端和服务器)之外复制它.

这是一个相关的片段:

OrderTicket ticket = new OrderTicket(... );

for( int i = 0; i < _numOrders; i++ )
{
    ticket.CacheId = Guid.NewGuid();
    Submit( ticket );  // note that this simply makes a remoting call
}
Run Code Online (Sandbox Code Playgroud)

c# guid

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

c#记事本

我是编程的新手,我开始创建一个简单的记事本,只有4个按钮(打开,保存,新建和字体).

如果我打开或保存我收到错误:这是我的代码:

        //Declare save as a new SaveFileDailog
        SaveFileDialog save = new SaveFileDialog();
        //Declare filename as a String equal to the SaveFileDialog's FileName
        String filename = save.FileName;
        //Declare filter as a String equal to our wanted SaveFileDialog Filter
        String filter = "Text Files|*.txt|All Files|*.*";
        //Set the SaveFileDialog's Filter to filter
        save.Filter = filter;
        //Set the title of the SaveFileDialog to Save
        save.Title = "Save";
        //Show the SaveFileDialog
        if (save.ShowDialog(this) == DialogResult.OK)
        {
            //Write all of the text in txtBox to …
Run Code Online (Sandbox Code Playgroud)

c#

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

标签 统计

c# ×2

comments ×2

guid ×1