我已经到了一个点,我的主要代码文件大约有一千行,并且它变得无法管理; 也就是说,我开始感到困惑,不知道在哪里找到一些东西.它的评论很好但是有太多的东西.
我真的希望能够将我的代码组织成不同的文件,每个文件都有自己的用途.当我编辑这些其他文件时,我希望得到VS给我的所有帮助.一张图片可以说千言万语:
alt text http://img64.imageshack.us/img64/7848/codeorganizationscreens.png
我正在努力做甚么可能吗?
简单问题在这里.我有一个C#程序需要将一些文件存储到硬盘驱动器上,但我不需要它们对最终用户有用,只能在程序可以读/写的某个地方.
是否有一个目录,我可以通过编程方式引用我的"文件空间游乐场" - 也就是说,我可以自由地读/写?
编辑:另外,如果我使用临时目录,文件保证有多长时间?我的程序仍在运行时,我不希望它们消失!
我有一些代码写得像这样:
private double function1()
{
double result2 = function2();
if (result2 < 0) { return result2; }
double result3 = function3();
if (result3 < 0) { return result3; }
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我需要重新编写它,使它只有一个return语句.是否有捷径可寻?从使用两次相同的if构造开始,这对我来说是低效的.如何清除这种低效率?
我试图概括我的"Last"扩展方法,以便与任何数据类型的列表一起使用:
public static CartesianPoint Last(this List<CartesianPoint> MyList)
{
return MyList.ElementAt(MyList.Count - 1);
}
Run Code Online (Sandbox Code Playgroud)
"CartesionPoint"是一个自定义结构.我希望此函数可以处理任何数据类型的列表.这可能吗?使用'对象'是唯一的方法吗?
我正在尝试迭代项目列表。这些项目都是公共界面的一部分。它们如本问题所述。我想使用foreach循环来遍历它们,但是根据它是什么类型执行不同的操作。
为了简单起见,假设我要执行的操作如下:
ProcessLine(MachineLine ML); //For MachineLines
ProcessLine(MachineCircle MC); //For MachineCircles
Run Code Online (Sandbox Code Playgroud)
如何完成迭代以说明多种数据类型?
我正在尝试编写一个程序,我需要逐个字符地处理字符串,包括空格.该字符串将由运行程序的用户从标准输入流给出.
我注意到,(read)只有在捕获了一些非空白字符后,该函数才会停止,并切断从第一个空白字符开始的所有内容.
换句话说,如果我执行一个(read)函数并输入hi to you,它将返回HI.我希望我的功能返回的是(#\h #\i #\Space #\t #\o #\Space #\y #\o #\u).任何人都可以给我一些关于如何实现这一点的指示?对不起,伙计们,我对LISP很新,但我非常喜欢它.
编辑:我尝试过的一件事是使用(cons)和(read-char).例如:(cons (read-char) (cons (read-char) (cons (read-char) (cons (read-char) (read-char))))).当用户输入"你好"时,这个输出(#\h #\e #\l #\l . #\o)已经接近,但那个额外的时期在那里做什么?
这是一个非常基本的问题,但我的C非常生疏,我需要复习.我有一个字符串,其格式完全相同:di ###.# ###.# ###.
我想读第一个数字d1,第二个进入d2,第三个进入d3.
int main ()
{
double d1, d2, d3;
char mystring[] = "di 123.4 567.8 901";
//some code that I don't know
return 0;
}
Run Code Online (Sandbox Code Playgroud)
你能帮助我吗?我知道strtod()可以帮助解析数字,但是如何在开头跳过"di"?
在我学习Perl时,请原谅一个新手问题.我有一些像这样的代码:
my $familyInfo = [{
'dad' => 'donald',
'mom' => 'helen',
'sister' => 'cate',
}];
Run Code Online (Sandbox Code Playgroud)
请注意,此代码我无法以任何方式修改.我想要做的是从这个数据结构中提取妈妈:
my $mother = $familyInfo{mom};
print "mother: $mother\n";
my $mother = $familyInfo[0]{mom};
print "mother: $mother\n";
Run Code Online (Sandbox Code Playgroud)
这根本不起作用.它没有给$ mother分配任何东西.我不理解的是初始化创建的结构类型,以及如何使用它.您可以提供的任何信息可以帮助我理解这种扭曲语言的语法,这将是有帮助的!
假设我从一个函数开始foo(),这是正确但风格很差的:
int foo(void)
{
// Some comment
int b;
int a;
getAandB(&a, &b);
return a+b;
}
Run Code Online (Sandbox Code Playgroud)
我想重新格式化此代码块而不进行任何功能更改:
int foo(void)
{
// A more descriptive comment
int a, b;
getAandB(&a, &b);
return a + b;
}
Run Code Online (Sandbox Code Playgroud)
有没有一个工具可以用来证明这两个块在功能上是等价的?让我们假设重新构建整个代码库不是一个选项,我想单独测试这个代码块.我将无法链接它,因为getAandB()在别处定义.
在这种情况下,是否可以使用某些工具组合来证明功能等同?
我是Perl的新手,我知道你可以按名称调用函数,如下所示:
&$functionName();.但是,我想按名称使用数组.这可能吗?
长码:
sub print_species_names {
my $species = shift(@_);
my @cats = ("Jeffry", "Owen");
my @dogs = ("Duke", "Lassie");
switch ($species) {
case "cats" {
foreach (@cats) {
print $_ . "\n";
}
}
case "dogs" {
foreach (@dogs) {
print $_ . "\n";
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
寻求类似于此的更短代码:
sub print_species_names {
my $species = shift(@_);
my @cats = ("Jeffry", "Owen");
my @dogs = ("Duke", "Lassie");
foreach (@<$species>) {
print $_ . "\n";
}
}
Run Code Online (Sandbox Code Playgroud)