我需要生成随机颜色名称,例如"红色","白色"等.我该怎么办?我可以像这样生成随机颜色:
Random randonGen = new Random();
Color randomColor = Color.FromArgb(randonGen.Next(255), randonGen.Next(255),
randonGen.Next(255));
Run Code Online (Sandbox Code Playgroud)
但是我需要名字,而不是像这样生成的所有颜色都有一个已知名称.
谢谢
我在C#中有一个计时器,它在它的方法中执行一些代码.在代码中我使用了几个临时对象.
如果我Foo o = new Foo();在方法中有类似的东西,这是否意味着每次计时器滴答时,我都在创建一个新对象和对该对象的新引用?
如果我有string foo = null,然后我只是在foo中添加一些时间,是否与上面相同?
垃圾收集器是否会删除该对象,并且会不断创建一个或多个引用并保留在内存中?
如果我只是声明Foo o;并且没有将它指向任何实例,那么当方法结束时是不是处理掉了?
如果我想确保删除所有内容,那么最好的方法是:
Foo o;定时器的方法放在外面并仅在o = new Foo()内部进行赋值,因此在方法结束后删除指向该对象的指针,垃圾收集器将删除该对象.我正在使用JSF 2.0.我有一个托管bean,我可以通过我的xhtml页面访问.在bean内部,我声明了一个内部类.我可以访问ArrayList<String>托管bean但不能访问,ArrayList<InnerClass>我得到的错误是InnerClass没有可读属性.谁知道什么是错的?
假设我已经有窗口的句柄,我可以得到PID GetWindowThreadProcessId.有没有办法让我可以获得进程名称而无需获取所有进程并尝试匹配我的PID?
我有一个product.xhtml和一个ProductBean.我使用/ product/{id}来访问产品,所以我在product.xhtml中有一个viewParam,其值为value = ProductBean.id.问题是在bean内部我使用带有PostConstruct注释的init函数来填充产品的细节.为此,我需要id来调用外部函数.我想虽然在viewParam设置bean的id之前调用了init,因此在init中我无法调用外部函数,因为id尚未设置.我做错了什么,如何解决这个问题?
UPDATE
我发现了什么问题.我认为viewParam方法适用于CDI bean,但ManagedProperty方法适用于JSF bean.
我现在还有另一个问题.我的CDI bean是RequestScoped,当渲染product.xhtml时,bean被创建,我猜想以后会被丢弃.有趣的是,我在该bean中有一个函数,当我调用时,我可以读取id(我认为这是因为连接到视图参数)而不是任何其他属性.任何想法如何解决这一问题?
在处理几千个节点和几千个关系时,我应该使用哪个图形数据库?这些大数据是否适用于任何数据库?哪个图形数据库在读取操作中最快(假设所有数据在开始时加载一次).我看了看neo4j及其可视化工具.我可以在我的应用程序中使用这样的可视化工具吗?
我正在读取XML文件中的数字.其他数字使用逗号分隔符(0,1111),其他数字使用点(0.1111).如何解析这些数字,以便最终获得所需的结果?我尝试使用,float.Parse(reader.Value, System.Globalization.CultureInfo.InvariantCulture);但它不起作用.例如,我有reader.Value ="0,01119703"并被解析为1119703.0.
我的项目是在C#Windows Forms中.在调试时,我使用调试文件夹作为工作目录,但现在我将部署我的项目,我需要指定一个工作目录.我该怎么做?
我想知道存储以下信息的最佳数据结构是什么:
假设我们有这个字符串:
1.2.0.0.15.4.22.3.0.0.0.2
该字符串还将计算超过1位数的值.这些点实际上并不是必需的,只是为了让我更清楚我想要的东西.
其中字符串中的每个数字代表一个计数器,我们必须每分钟计算一次.所以,我们计算的第1分钟1,第2 分钟2,第3 分钟0等等.没有预定义的大小,而且我只想在计算某些内容时进行插入或更改,因此零值实际上将在结构中用空值表示.计数将逐步进行.
最初结构将在第一分钟为空.
如果我创建一个类似的字符串
char string[6] = "hello";
char* ptr = (char*) malloc(sizeof(string));
strcpy(ptr, string);
Run Code Online (Sandbox Code Playgroud)
然后我这样做:
char* ptr2 = ptr;
Run Code Online (Sandbox Code Playgroud)
它会起作用吗?
一般来说,如果我有一个指向字符串的char*指针,我可以让其他指针指向该字符串并且初始指针指向另一个字符串吗?
[编辑]
感谢您的反馈,但我有点困惑.我会尝试从头开始.
我有我的主要功能,我在其中执行scanf来读取一个字符串,该字符串不是固定大小但具有MAX长度.我这样看了char* input; scanf("%as", &input);.我认为'a'标志会自动分配所需的内存以适应字符串.
然后我必须调用一个foo(char* s)以字符串作为输入的函数.
在该函数内部,我必须将字符串存储在内存中.我有两个选择:使用参数或创建一个新的malloc和strcpy并使用新的字符串.哪两个是正确的?我只需要存储字符串的内存位置,稍后再参考.
如果我使用参数并在某处存储它的内存位置,这是安全的还是因为指向字符串的指针是常量会导致任何问题吗?用malloc制作另一个字符串会解决任何问题,还是同样的事情?
直到现在我已经尝试了几种组合,但我无法达到我想要的效果.任何帮助表示赞赏.
c# ×6
jsf-2 ×2
managed-bean ×2
arrays ×1
c ×1
char ×1
colors ×1
dictionary ×1
el ×1
handles ×1
memory ×1
memory-leaks ×1
neo4j ×1
parsing ×1
pointers ×1
process ×1
random ×1
viewparams ×1
windows ×1