生成图形并显示不同的数据集时,通常最好通过颜色区分集合.因此,一行是红色,下一行是绿色,依此类推.问题在于,当数据集的数量未知时,需要随机生成这些颜色,并且它们通常彼此非常接近(例如绿色,浅绿色).
关于如何解决这个问题以及如何产生截然不同的颜色的任何想法?
如果有任何例子(如果你发现更容易,只要讨论问题和解决方案,如果你发现更容易的话),我会很棒,是基于C#和RGB的颜色.
我目前正在使用MD5哈希,但我想找到一些会创建一个只使用[az] [AZ] [0-9]的较短哈希的东西.它只需要大约5-10个字符长.
那里有什么东西已经做到了吗?
更新:
我喜欢CRC32哈希.在.NET中有一种干净的计算方法吗?
UPDATE2:
我正在使用Joe提供的链接中的CRC32功能.如何将uInt转换为上面定义的字符?
我想将char数组的一部分转换为字符串.什么是最好的方法.
我知道我可以为整个阵列做以下事情
char[] chars = {'a', ' ', 's', 't', 'r', 'i', 'n', 'g'};
string s = new string(chars);
Run Code Online (Sandbox Code Playgroud)
但是仅仅是元素2到4呢?
我也知道我可以遍历数组并提取它们,但我想知道是否有更简洁的方法.
使用0-9,AZ和ax作为数字将十进制数字(十进制)转换为六十进制(基数六十)表示为字符串的最佳方法是什么.
我打算用javascript编写它,但任何帮助表示赞赏.
用法示例:
>>decToSex(60);
"10"
>>decToSex(123);
"23"
>>decToSex(1000000);
"4bke"
>>decToSex(1234567.89);
"5gu7.rO"
Run Code Online (Sandbox Code Playgroud)
我使用的最终代码基于Paolo的答案:
var decToSex = function(){
var decToSexMap = ['0','1','2','3','4','5','6','7','8','9',
'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z',
'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x'];
return function(number){
var negative = '';
if (number < 0){
var negative = '-';
}
number = number.toString().split('.');
var integer = Math.abs(number[0]);
var fraction = number[1];
var result = '';
do {
result = decToSexMap[integer % 60] + result;
integer = parseInt(integer / 60);
} while (integer > 0);
if (fraction){
var decimalPlaces = fraction.toString().length;
result += '.'; …Run Code Online (Sandbox Code Playgroud) 我的ASP.NET页面有以下查询字符串参数:
…?IDs=1000000012,1000000021,1000000013,1000000022&...
Run Code Online (Sandbox Code Playgroud)
这里IDs参数将始终有一个数字的东西分开,在这种情况下,.目前有4个数字,但通常他们会在两者之间3和7.
现在,我正在寻找将每个大数字从上面转换为最小可能值的方法; 具体压缩IDs查询字符串参数的值.压缩每个数字算法或压缩IDs查询字符串参数的整个值都是受欢迎的.
IDs查询字符串参数.IDs某些数据源创建一些唯一的小值然后从其中检索其值超出了范围.是否存在将这些大数字压缩为小值或将IDs查询字符串参数的值压缩在一起的算法?
我想在Java中编写一个函数,它将整数作为输入,并输出每个可能的数字排列,直到整数.例如:
F(1)
0
f(2)应输出:
00 01 10 11
f(3)应输出:
000 001 002 010 011 012 020 021 022 100 .... 220 221 222
也就是说,它应该输出数字0,1,2的数字的所有27个排列.
f(4)应输出0000 0001 0002 0003 0010 ... 3330 3331 3332 3333
f(5)应输出00000 00001 ... 44443 44444
我一直试图解决这个问题,但似乎无法解决如何做到这一点,并不断被我需要多少循环弄糊涂.有谁知道如何解决这个问题?提前致谢.
我正在尝试将一些代码转换为 C#(从 JavaScript),我需要通过 C# 将双数(0.04036483168558814)转换为“.toString(36)/Base36”。
JavaScript 代码在这里:
var num = 0.04036483168558814;
var n = num.toString(36);
Run Code Online (Sandbox Code Playgroud)
输出(n)如下:
0.1gb9f0lx08ij9wwfwkyk5d0a4i
Run Code Online (Sandbox Code Playgroud)
我需要 C# 的上述相同结果,那么如何在 C# 中获得相同的结果?
我应用了一些代码,但它们不起作用..我的代码如下(由 C# 编写):
1)
string OutputVal = Convert.ToString(Int64.Parse("0.04036483168558814"), 36);
Run Code Online (Sandbox Code Playgroud)
或者
string OutputVal = Convert.ToString(Int64.Parse("0.04036483168558814".Substring(2)), 36);
Run Code Online (Sandbox Code Playgroud)
2)
private const string CharList = "0123456789abcdefghijklmnopqrstuvwxyz";
public static String Encode(long input)
{
if (input < 0) throw new ArgumentOutOfRangeException("input", input, "input cannot be negative");
char[] clistarr = CharList.ToCharArray();
var result = new Stack<char>();
while (input != 0)
{
result.Push(clistarr[input % 36]);
input …Run Code Online (Sandbox Code Playgroud) 我正在尝试在C#中开发一个例程,该例程将获取给定的输入整数并根据预定义的可能字符集返回6个字符的字母数字字符串.
可能使用的字符是:
"0123456789ABCDEFGHJKLMNPQRSTUVWXYZ"(注意字母"I"和"O"不在集合中.)
因此,如果输入为1,则输出应为"000001",输入9将输出"000009",输入10将输出"00000A",输入12345将输出"000AP3",依此类推.
我很难想出这个问题的优雅解决方案.我知道我必须努力接近这一点,所以我正在寻求一些帮助.
谢谢!
如何将字符串从文本框转换为十六进制?
我只在C#中找到了方法.VB.NET是否有能力做这样的事情?如果它可以,那么我想知道如何将字符串转换为十六进制和十六进制转换为字符串.
我正在寻找一种方法从文本框中取值并将其转换为8位数的基数2.
因此,如果他们输入文本框2,它将响应00000010.或者如果他们键入255 11111111等...
有任何方法可以做到这一点.
Dim prVal As Integer
prVal = PrefixTxt.Text
Run Code Online (Sandbox Code Playgroud)