我想将一个数组或整数列表转换为逗号分隔的字符串,如下所示:
string myFunction(List<int> a) {
return string.Join(",", a);
}
Run Code Online (Sandbox Code Playgroud)
但是string.Join只List<string>作为第二个参数.做这个的最好方式是什么?
我使用ASP.Net将C#中设计的类序列化为JSON.我的Javascript应用程序然后使用AJAX请求这些对象.我现在在几个项目上完成了这个,但是我遇到了C#标准命名约定为公共成员使用PascalCase的问题,而在Javascript中它们通常是camelCase.
当我有一些使用camelCase的Javascript-only类和一些使用PascalCase的混合使用类时,这尤其成为一个问题,因为我最初在C#中设计它们.
其他人如何处理这类问题?你只挑选一个或另一个?如果是这样,哪一个被更广泛地选择?或者是否有一种聪明的方法来使用JSON序列化程序在两种命名约定之间切换?
我有一个每天更新一次的大型数据集.我正在缓存对该数据进行昂贵查询的结果,但我想每天更新该缓存.我正在考虑使用CacheItemRemovedCallback每天重新加载我的缓存,但我有以下问题:
这些问题是否相关,如果使用CacheItemRemovedCallback重新加载缓存是一个坏主意,那么它何时有用?
在python中,如果我有
x = y
Run Code Online (Sandbox Code Playgroud)
对x的任何修改也会修改x,我可以这样做
x = deepcopy(y)
Run Code Online (Sandbox Code Playgroud)
如果我想避免在处理x时修改y
比方说,我有:
myFunc():
return y
def main():
x = myFunc()
Run Code Online (Sandbox Code Playgroud)
是否仍然需要修改x来修改y,或者因为它是来自另一个函数的返回,它就像一个深度复制?
哪个是更好的编程习惯,为什么?
我有一个这样的课:
class data {
public double time { get; internal set; }
public double count { get; internal set; }
public average_count { ... }
}
Run Code Online (Sandbox Code Playgroud)
其中average_count应为read_only并计算计数/时间.
将访问者编写为:
public average_count { get {
return (time == 0) ? 0 : (count / time);
}}
Run Code Online (Sandbox Code Playgroud)
或者我应该做以下事情:
private _avg_count;
public average_count {
get
{
return _avg_count;
}
internal set
{
return _avg_count;
}
}
Run Code Online (Sandbox Code Playgroud)
在时间和计数集访问器中更新_avg_count的位置?
看起来第一个更容易阅读,但如果经常访问average_count可能会更慢.编译器优化是否会使差异无关紧要?
c# ×4
accessor ×1
arrays ×1
asp.net ×1
asp.net-mvc ×1
deep-copy ×1
javascript ×1
json ×1
performance ×1
python ×1
reference ×1
shallow-copy ×1
string ×1