问题列表 - 第15738页

假装.NET字符串是值类型

在.NET中,字符串是不可变的,并且是引用类型变量.对于较新的.NET开发人员来说,这通常会让他们感到惊讶,因为他们的行为可能会将他们误认为值类型对象.但是,除了StringBuilder用于长连接的实践之外,尤其如此.在循环中,有没有理由在实践中需要知道这种区别?

通过理解关于.NET字符串的价值参考区别与仅假装/误解它们是价值类型,可以帮助或避免哪些现实场景?

.net string pass-by-reference pass-by-value

7
推荐指数
1
解决办法
609
查看次数

函数式编程:不可变的数据结构效率

我不明白,FP编译器如何使代码快速处理不可变数据结构,而不是炸毁堆栈等.

例如,在树中插入操作,它必须在添加新节点之前复制整个树并返回复制的树,而不是仅需要添加指向新节点的命令式couterpart.如果插入操作运行数百万次,则需要占用大量内存,并且当树更大时,复制将越来越慢.FP编译器如何实际优化这个?

functional-programming

18
推荐指数
2
解决办法
2104
查看次数

Rails:当一个模特?当一个lib?

我正在制作一个小小的消息发送模块.它将处理来自后台工作人员接收的请求的排队消息,以发送电子邮件/ SMS(或适当地进行测试以进行测试).

问题:这是一个模型(在/ app/models下)还是一个lib(在/ lib下).

我想要一些宗教信仰.

理论A :(我当前的理论)除非你是ActionMailer :: Base或ActiveRecord :: Base等的子类,否则你的代码应该进入lib.

理论B :(理论我倾向于)应用特定的东西应该在模型中.任何可能普遍使用的东西都应该在lib中.

理论C:只有"数据模型"应该在"模型"中.但是,ActionMailer子类违反了这条规则.

据我所知,无论哪种方式它都可以正常工作,但我正在寻找一个与另一个相比的任何微妙的功能或哲学原因.

思考?

ruby-on-rails

7
推荐指数
1
解决办法
1136
查看次数

System.Drawing.Point是一种值类型.为什么?

我读到System.Drawing.Point是一个值类型.我不明白.为什么?

.net c# types

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

在Haskell中,如何递归操作元组并将字符预先添加到元组中的第一个元素?

这个功能的类型是 function :: Num a => ([Char],a) -> ([Char],a)

我对此函数的输入是类似的(".'*",0),函数通过添加200或400 的值来查找第一个'.''*'更新a,a具体取决于首先替换的字符.一旦更改了某些内容,字符列表的其余部分将附加到末尾(只更改了一个字符).如果未更改头部字符,则处理列表的其余部分,但保留头部字符.

我相信前两个保护语句是正确的,但我不知道如何使这个功能递归,以检查列表中的整个字符不变.

function ([], a) = ([], a)
function ((x:xs), a)
    | x == '.' = ('-':xs, a+200)
    | x =='*' = ('-':xs, a+400)
    | otherwise = function(xs, a) --how do I put the unchanged x before xs without processing it?
Run Code Online (Sandbox Code Playgroud)

基本上,当函数到达时,我需要处理字符列表的其余部分,但是还需要返回未更改的字符.

所需输入输出的示例:

Main> function ("./-", 0)
("-/-",200)
Run Code Online (Sandbox Code Playgroud)

要么

Main> function ("-/-", 0)
("-/-",0)
Run Code Online (Sandbox Code Playgroud)

任何帮助是极大的赞赏!如果不清楚,我会澄清一下.我觉得我正在以错误的方式解决这个问题.

recursion haskell tuples

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

将Scheme表达式转换为字符串

给定一个表达式'(lambda(x)x)如何将其转换为字符串.我认为symbol-> string会完成这项工作,但不能没有符号.

例如,对于一个宏的字符串:( to-string(lambda(x)x))这应该返回>>"(lambda(x)x)"

任何想法的人都谢谢

string macros lambda scheme expression

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

为什么浏览器有时会使网站变坏,有时会变好 (无需更改浏览器,仅刷新动态数据)

我有网站,通常看起来都很好,但有时一个div是在错误的地方...现在,我认为原因是AJAX(document.ready加载欢迎文本时),但现在该脚本被禁用,问题仍然存在.

现在,我注意到只有最新的Firefox.其他人有类似的问题吗?这是免费托管的错(也许有些数据包丢失了吗??)(在http://60free.ovh.orghttp://www.000webhost.com/上测试)

编辑:我说的只是一个浏览器和2个不同的渲染结果.我知道这很奇怪......

EDIT2:看看这个截图:第一个坏:http://img682.imageshack.us/img682/866/badxz.png,好的一个,只刷新页面后,(我不使用任何服务器端郎)http: //img20.imageshack.us/img20/3992/goodtpxz.png

编辑3:在网络开发人员插件我已经检查过 disable cache

EDIT4:这是第http://www.XYZ.eu/

rendering

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

如何撤消bzr忽略?

我错了

bzr ignore
Run Code Online (Sandbox Code Playgroud)

对于一些我不想忽略的文件.如何撤消忽略?

version-control bazaar

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

在push_front()之后C++ deque的迭代器失效

刚才,我正在读Josuttis的STL书.

据我所知 - c ++ vector是一个可以重新分配的c-array.所以,据我所知,为什么在push_back()之后所有迭代器和引用都会变得无效.

但我的问题是关于std :: deque.据我所知,它是大块的数组(c-array的c-array).因此push_front()在开头插入元素,如果没有空格,则deque分配新块,并将元素放在已分配块的末尾.

在中间插入()后,所有引用和迭代器都变得无效,我理解为什么 - 所有元素都被移动.但我真的误解了这句话"...在push_back()和push_front()之后所有引用都保持有效,但迭代器没有"(同样的短语可以在@ standard:23.2.2.3找到)

这是什么意思?!如果引用有效,则deque无法重新分配(==移动)其元素.那么为什么迭代器变得无效呢?为什么我不能在非移动元素插入后使用它们?或者这句话意味着,我不能确定迭代器相等于begin()或end()和溢出?

另外,我想提一下,在erase()之后,所有迭代器和引用都保持有效(除了擦除的:-)).

PS:请不要以"标准"形式回答:"它不能被使用,因为标准是这样说的".我想明白为什么,会发生什么.

c++ iterator stl deque

9
推荐指数
1
解决办法
3117
查看次数

将foreach循环中的值赋给asp:button CommandArgument

代码隐藏文件创建了一个员工列表,asp.net页面循环遍历列表.现在,如何将employeedID分配给asp:按钮的commandArgument?

  <%foreach(var employee in employeesList){%>
    <tr>
     <td><%=employee.firstName%></td>
     <td><%=employee.lastName%></td>
    /*How to access employee.Id in the commandArgument? */
    <td><asp:Button ID="btnDeleteEmployee" runat="server" CommandArgument=''    Text="Delete" OnCommand="btnDeleteEmployee_Click" /></td>
    </tr>
<%}%>
Run Code Online (Sandbox Code Playgroud)

c# asp.net

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