问题列表 - 第31248页

在C#中私密'设置' - 在我周围缠绕我的大脑时遇到困难

我已经看到很多使用类似的东西编写的示例代码(请原谅这是多么可怕的罐头):

public class Test
{
   public object Thingy { get; private set; }
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,这些例子从未真正解释为什么'set'被设置为私有.所以,我只是想知道是否有一个好的,常见的例子可以向我说明为什么会使用这样的东西.

我有点看到它 - 除了设置该字段外,还可以运行属性来处理一些额外的逻辑.我只是对如何调用它感到困惑,为什么会使用这种方法而不是通用的setter方法.

c# private

19
推荐指数
2
解决办法
6832
查看次数

Erlang memoization的简单示例

假设你有一个简单的函数,对于大值来说可能会非常昂贵:

fact(0) -> 1;
fact(N) -> N * fact(N - 1).
Run Code Online (Sandbox Code Playgroud)

我在哪里可以找到一个使用缓存(或记忆)函数值的简单示例dets

任何其他方便记忆的方式将受到高度赞赏.

erlang

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

mysql auto_increment由5?

我遇到了一个非常非常非常奇怪的mysql问题.

我有一个主键,"id".它设置为自动增量.问题是,第一个条目从"3"开始.每个新条目增加5,所以下一个条目的id为8,接下来是13,然后是18,依此类推.这是愚蠢的.它为什么不只是增加1,就像它应该一样?为什么它从3开始???

我错过了什么地方?我正在使用phpmyadmin,如果有帮助的话.

mysql

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

链表头双指针传递

我在一些书/教程中看到过这个。

当您将(链表的)头指针传递给函数时,您需要将其作为双指针传递。

例如: // 这是反向链表,其中 head 指向第一个节点。

void nReverse(digit **head)
{
    digit *prev=NULL;
    digit *curr=*head;
    digit *next;

    while(curr!=NULL)
    {
        next=curr->next;
        curr->next=prev;
        prev=curr;
        curr=next;
    }
    *head=prev;
    return;
}
Run Code Online (Sandbox Code Playgroud)

这工作正常。

当我使用单指针时它也有效,

void nReverse(digit *head)
{
    digit *prev=NULL;
    digit *curr=head;
    digit *next;

    while(curr!=NULL)
    {
        next=curr->next;
        curr->next=prev;
        prev=curr;
        curr=next;
    }
    head=prev;
    return;
}
Run Code Online (Sandbox Code Playgroud)

我尝试使用头指针打印列表。这两个功能都可以正常工作。

我错过了什么吗?

谢谢,

c c++ reverse linked-list double-pointer

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

在画布上找到控制位置

我有一个包含几个文本块的画布,我需要找到我在xaml中分配的顶部左角点.我怎样才能获得这两个属性?当我遍历画布上的框架元素时,我似乎无法找到列出的属性.

wpf canvas frameworkelement

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

Cocoa - 切换BOOL而不重复其名称

如果BOOL有一个很好的短名称,那么写起来很容易:

myBOOL = !myBOOL;
Run Code Online (Sandbox Code Playgroud)

但是如果BOOL有一个很长的名字怎么办?

objectWithLongishName.memberWithLongishName.submember.myBOOL = !(objectWithLongishName.memberWithLongishName.submember.myBOOL);  
Run Code Online (Sandbox Code Playgroud)

...看起来不那么漂亮.

我想知道是否有一种简单的方法来切换BOOL而不输入其名称两次?

cocoa boolean objective-c

9
推荐指数
4
解决办法
3715
查看次数

Ruby中未定义的视图中的变量

我有一个看起来像这样的视图:

<p><%= stage.end_date.strftime("%A, %d %B %Y")%></p>
Run Code Online (Sandbox Code Playgroud)

有时stage.end_date返回null,没关系,但是Ruby会抛出一个NoMethodError.

我是Ruby的新手,所以我想知道如何处理视图中的缺失/ null变量

  • 我是否需要在视图中测试stage.end_date?因为那感觉很难看
  • 我是否需要确保stage.end_date不为null,如果是这样,那对我来说不是一个工作呢?
  • 有没有办法让ruby不用担心stage.end_date而不是抛出一个错误?

建议最受欢迎

ruby ruby-on-rails

0
推荐指数
2
解决办法
569
查看次数

使用fscanf时宽度为变量

我试图读取文件的某个部分,并且每行的数据量不同但我知道我想要多少字节的信息.像这样:

5bytes.byte1byte2byte3byte4byte5CKSum //where # of bytes varies for each line (and there is no period only there for readability)  
Run Code Online (Sandbox Code Playgroud)

实际数据:

05AABBCCDDEE11
03AABBCC22
04AABBCCDD33
Run Code Online (Sandbox Code Playgroud)

所以我希望我的宽度是这样的变量:

fscanf_s(in_file,"%variableX", &iData);  
Run Code Online (Sandbox Code Playgroud)

这是可能的,因为现在我想我必须创建一个案例陈述?

c c++ scanf width

14
推荐指数
1
解决办法
3456
查看次数

STL max_element的复杂性

所以根据这里的链接:http://www.cplusplus.com/reference/algorithm/max_element/,max_element函数是O(n),显然对于所有STL容器.它是否正确?不应该是一个集合的O(log n)(实现为二叉树)?

在一个有点相关的说明中,我总是使用cplusplus.com来回答更容易回答的问题,但我很好奇其他人对该网站的看法.

c++ complexity-theory stl

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

TcpListener Timeout/about/something?没有ASync?

我创建了一个使用TcpListener的线程,当我的应用程序关闭时,我想让thead终止.我可以调用abort但由于TcpListener使用AcceptTcpClient阻塞,因此线程仍处于活动状态.

是否可以约束或设置超时或使用AcceptTcpClient进行SOMETHING?我无法想象,如果没有办法阻止它永远阻止它将是多么有用.我的代码是串行的,我希望它保持这种方式,所以有没有使用BeginAcceptTcpClient的解决方案?并编写ASync代码?

.net sockets multithreading tcplistener

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