随着.net 4 中的Tuple类的增加,我一直试图决定在我的设计中使用它们是否是一个糟糕的选择.我看到它的方式,一个元组可以是编写结果类的快捷方式(我相信还有其他用途).
所以这:
public class ResultType
{
public string StringValue { get; set; }
public int IntValue { get; set; }
}
public ResultType GetAClassedValue()
{
//..Do Some Stuff
ResultType result = new ResultType { StringValue = "A String", IntValue = 2 };
return result;
}
Run Code Online (Sandbox Code Playgroud)
相当于:
public Tuple<string, int> GetATupledValue()
{
//...Do Some stuff
Tuple<string, int> result = new Tuple<string, int>("A String", 2);
return result;
}
Run Code Online (Sandbox Code Playgroud)
因此,抛开我错过了元组点的可能性,是一个Tuple设计选择不好的例子吗?对我来说,它似乎不那么混乱,但不像自我记录和干净.这意味着对于类型ResultType,后面很清楚类的每个部分意味着什么,但你有额外的代码来维护.随着Tuple<string, int>您将需要查找并弄清每一个 …
我是大学的学生,所以我的经验是有限的,因此这个问题.
如果有人对你说,这是一个编码的任务,你在看什么,以选择你将在其中进行的语言或范例?
希望这个问题有道理吗?
我已经在stackoverflow上查看了Android API和其他帖子,但一直无法解决这个问题.
我的应用程序将文件下载到SD卡.我想在文件下载时弹出"加载..."对话框,然后在下载完成后消失.这是我使用android API提出的:
ProgressDialog pd = ProgressDialog.show(this,"","Loading. Please wait...",true);
//download file
pd.cancel();
Run Code Online (Sandbox Code Playgroud)
但是对话框实际上并没有显示.当我调试它时,它声称它正在显示,但它显然不在屏幕上.
我能做什么?
我在c ++中有以下代码
#include <iostream>
using namespace std;
void qsort5(int a[],int n){
int i;
int j;
if (n<=1)
return;
for (i=1;i<n;i++)
j=0;
if (a[i]<a[0])
swap(++j,i,a);
swap(0,j,a);
qsort5(a,j);
qsort(a+j+1,n-j-1);
}
int main()
{
return 0;
}
void swap(int i,int j,int a[])
{
int t=a[i];
a[i]=a[j];
a[j]=t;
}
Run Code Online (Sandbox Code Playgroud)
我有问题
1>c:\users\dato\documents\visual studio 2008\projects\qsort5\qsort5\qsort5.cpp(13) : error C2780: 'void std::swap(std::basic_string<_Elem,_Traits,_Alloc> &,std::basic_string<_Elem,_Traits,_Alloc> &)' : expects 2 arguments - 3 provided
1> c:\program files\microsoft visual studio 9.0\vc\include\xstring(2203) : see declaration of 'std::swap'
1>c:\users\dato\documents\visual studio 2008\projects\qsort5\qsort5\qsort5.cpp(13) : error C2780: …Run Code Online (Sandbox Code Playgroud) 所以我试图获得一些为gcc编写的代码,以便在Visual Studio 2008上编译.我有一个问题,我已经缩小到这个:
class value_t
{
public:
typedef std::deque<value_t> sequence_t;
typedef sequence_t::iterator iterator;
};
Run Code Online (Sandbox Code Playgroud)
此代码失败:
1>cpptest.cpp
1>c:\program files\microsoft visual studio 9.0\vc\include\deque(518) : error C2027: use of undefined type 'value_t'
1> c:\temp\cpptest\cpptest.cpp(10) : see declaration of 'value_t'
1> c:\temp\cpptest\cpptest.cpp(13) : see reference to class template instantiation 'std::deque<_Ty>' being compiled
1> with
1> [
1> _Ty=value_t
1> ]
1>c:\program files\microsoft visual studio 9.0\vc\include\deque(518) : error C2027: use of undefined type 'value_t'
1> c:\temp\cpptest\cpptest.cpp(10) : see declaration of 'value_t'
Run Code Online (Sandbox Code Playgroud)
但是当我用std :: vector尝试这个时,编译很好:
class …Run Code Online (Sandbox Code Playgroud) 在调试被多次递归调用的代码时,有时很难意识到您看到的是代码的哪个执行。是否有任何 IDE 图形工具可以帮助查看图表或其他内容?
似乎建议我们可以经常提交以跟踪我们编写的代码的中间变化...例如在使用Mercurial或Git时在hginit.com上.
但是,让我们说如果我们在一个项目上工作,我们经常提交文件.现在出于某种原因,经理想要部分功能出去,所以我们需要做推,但我听说在Mercurial或Git上,没有办法推送单个文件或文件夹......被推或没有被推.所以我们要么还原所有那些我们不想推送的文件,要么直到推送之前我们才应该提交 - 在提交之后,我们推送?
我有一些代码使用stristr函数来提取我需要的数据.
它为循环的每次迭代提供了这个警告:
Warning: stristr() [function.stristr]: Empty delimiter in ... line 55
Run Code Online (Sandbox Code Playgroud)
代码与此警告不同.这是代码:
$data = stristr("$text", "$key");
$result = string_limit_words($data,2);
print "$result<BR>";
Run Code Online (Sandbox Code Playgroud)
如何摆脱警告信息?
高,我需要对CT体积图像进行一些图像处理.主要是细分.哪个开源库支持3D算法 - 过滤,边缘检测,可变形对象等等?语言目前不是问题.
10倍