有没有办法在运行时在c#中创建对象?
为简单起见,假设以下问题..如果我有这个类..
class student {
string name;
int ID;}
Run Code Online (Sandbox Code Playgroud)
假设我正在编写一个程序,从用户那里获取学生人数(例如15),然后程序应该从学生班创建15个对象,并要求用户填写每个学生的姓名和ID.
我想知道的是如何在运行时创建对象?
我正在制作一个Delphi应用程序,并希望在另一台PC上测试它,看看是否一切正常.我编译并构建了可执行文件,当然我将所有文件从Project文件夹传输到另一台PC.当我在PC上启动.exe文件时,什么都不会发生.然后,我勾选了项目选项中的"使用运行时包构建"选项:
这使得.exe从大约300 KB到大约30 KB,但是现在,该PC没有能够在另一台(非Delphi)PC上启动该应用程序,而是错误地说它缺少打开所需的各种文件.可执行程序 .
我把同样的事情发给了各个朋友,所有人都报告了同样的问题.我的应用程序是一个相当简单的彩票原型应用程序,所以我不明白为什么我在其他PC上打开它时遇到问题.我需要启用其他特殊选项吗?
在一道leetcode题中。当我用来std::vector存放东西的时候。
i_max、 和j_max是整数。
vector<int> left_vec(i_max);
vector<int> right_vec(j_max);
Run Code Online (Sandbox Code Playgroud)
运行时间:100ms,内存使用:71.5MB。
当我用来std::array存放东西的时候。
int left_vec[i_max];
int right_vec[j_max];
Run Code Online (Sandbox Code Playgroud)
运行时间:40ms,内存使用:16.1MB。
代码的其他部分完全相同,唯一的区别是使用向量或数组。
我很困惑为什么会这样。
对于此for循环,运行时间为O(n)或O(n ^ 2):
char[] ar = new char[1000];
String s = "";
Arrays.fill(ar, 'a');
for(Character c: ar){
s += c;
}
Run Code Online (Sandbox Code Playgroud)
基本上,字符串上+的运行时间是多少?它如何在Java背景下工作?
datatype *x;//where datatype is a class defined earlier;
//...
if (isDataType(x[0]))//test whether x[0] belong to datatype defined.
//do something
Run Code Online (Sandbox Code Playgroud)
是否有任何C++功能可以像上面那样做?
请举例说明如何在运行时使用反射在F#中创建新类型(例如,两种类型的笛卡尔积)?
UPDATE
我正在寻找一流的语言.我被告知F#可以这样做.我没有尝试任何东西,因为还没有学习F#.我只想看看它是如何制作的.
#include <stdio.h>
#include<string.h>
int main() {
char * a;
int b[26] = {
0
};
long r = 0;
scanf("%s", a);
int j = strlen(a);
for (int i = 0; i < j; i++) {
b[a[i] - 'a'] += 1;
}
for (int i = 0; i < 26; i++) {
if ((b[i] / 2) * 2 == b[i])
r += b[i] / 2;
else
r += (b[i] + 1) / 2;
}
printf("%ld", r);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输入 - …
我发现Java HashSet 的remove(Object o) 需要O(1) 常数时间,而ArrayList 的remove(Object o) 操作需要O(N),其中N 是ArrayList 的大小。
谁能详细解释一下,这是为什么?
void fn(int n){
int p,q;
for(int i=0;i<n;i++){
p=0;
for(int j=n;j>1;j=j/2)
++p;
for(int k=1;k<p;k=k*2)
++q;
}
}
Run Code Online (Sandbox Code Playgroud)
还请告诉我 - 内部循环在这个功能中是否相互依赖?
我通过按下运行项目的绿色箭头在NetBeans中运行此代码.但我没有输出.你能告诉我我做错了什么吗我是IDE的新手.
package nurel;
import java.util.Scanner;
public class Nurel {
public String[] chars = new String[90];
public String var;
Scanner input = new Scanner (System.in);
public void charsdef(){
chars[0] = "a";
chars[1] = "b";
chars[2] = "c";
chars[3] = "d";
chars[4] = "e";
chars[5] = "f";
chars[6] = "g";
chars[7] = "h";
chars[8] = "i";
chars[9] = "g";
chars[10] = "k";
chars[11] = "l";
chars[12] = "m";
chars[13] = "n";
chars[14] = "o";
chars[15] = "p";
chars[16] = "q";
chars[17] = …Run Code Online (Sandbox Code Playgroud)