这真的让我变得更好。我需要转换它:
string data = "4,0,0,0,1,0,0,0,16,0,0,0,100,58,82,80,162,77,200,183,178,32"
进入一个字节数组,以便我可以在这里使用它:
polKey.SetValue("Blob", data, RegistryValueKind.Binary);
我已尝试data.Split(',')
将其拆分为数组并使用它,但我无法理解它。
答案 0 :(得分:5)
我假设你的字节数组需要解析的值(例如4,0,1,100等),而不是每个字符串的ASCII值。
首先转换为字符串数组:
DateFormat dateFormat = new SimpleDateFormat("MMMM d, yyyy", Locale.ENGLISH);
然后将每个字符串转换为一个字节:
string[] strings = data.Split(',');
答案 1 :(得分:1)
您可以使用Linq
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <gsl/gsl_linalg.h>
#include <gsl/gsl_eigen.h>
#include <gsl/gsl_sort_vector.h>
main() {
int L = 3, i, j, t;
int N = 10;
double M[L][L][N];
gsl_matrix *E = gsl_matrix_alloc(L, L);
gsl_vector_complex *eigen = gsl_vector_complex_alloc(L);
gsl_eigen_nonsymm_workspace * w = gsl_eigen_nonsymm_alloc(L);
for(t = 1; t <= N; t++) {
M[0][0][t-1] = 0;
M[0][1][t-1] = t;
M[0][2][t-1] = t;
M[1][0][t-1] = t;
M[1][1][t-1] = 0;
M[1][2][t-1] = 2.0 * t;
M[2][1][t-1] = t;
M[2][0][t-1] = t;
M[2][2][t-1] = 0;
for(i = 0; i < L; i++) {
for(j = 0; j < L; j++) {
gsl_matrix_set(E, i, j, M[i][j][t - 1]);
}
}
gsl_eigen_nonsymm(E, eigen, w); /*diagonalize E which is M at t fixed*/
printf("#%d\n\n", t);
for(i = 0; i < L; i++) {
printf("%d\t%lf\n", i, GSL_REAL(gsl_vector_complex_get(eigen, i)))
}
printf("\n");
}
}
正则表达式解决方案也是可能的
string data = "4,0,0,0,1,0,0,0,16,0,0,0,100,58,82,80,162,77,200,183,178,32";
var buf = data.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)
.Select(x => byte.Parse(x))
.ToArray();