Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 即使不存在输入也有结果_C#_Arrays - Fatal编程技术网

C# 即使不存在输入也有结果

C# 即使不存在输入也有结果,c#,arrays,C#,Arrays,我有一个文本文件数据集,格式如下(分隔字符为tab) 我通过以下方式读取并将其保存在数组中: for (int klk = 0; klk <= 92159; klk++) { lineuserori = fileuserori.ReadLine(); if (!string.IsNullOrEmpty(lineuserori)) {

我有一个文本文件数据集,格式如下(分隔字符为tab)

我通过以下方式读取并将其保存在数组中:

       for (int klk = 0; klk <= 92159; klk++)
            {
                lineuserori = fileuserori.ReadLine();
                if (!string.IsNullOrEmpty(lineuserori))
                {
                    string[] valuesiesi = lineitemori.Split('\t');
                    int useridori;
                    foreach (string value in valuesiesi)
                    {
                        useridori = Convert.ToInt32(valuesiesi[1]);
                        d[klk] = useridori;
                    }
                }
            }
有什么想法吗


感谢您在代码中创建数组,
lineitemori
对吗?
我想应该是
lineuserori

替换此项:

string[] valuesiesi = lineitemori.Split('\t');
与:


我在下面写了代码。(某些行使用注释掉的未知变量)
762354
输入
txtbx\u id
并单击按钮1,然后出现空消息框。
76235
输入到
txtbx\u id
并单击按钮1,然后消息框显示“错误”

public partial class Form1 : Form {
    // form have three controls  txtbx_id, txtbx_noofrecomm and button1.

    int[] d = new int[92162];
    string data = 
         "0\t762354\n"
        +"1\t645645\n"
        +"2\t4356743\n"
        +"3\t576899063\n"
        +"4\t64378\n";

    public Form1() {
        InitializeComponent();

        using (var fileuserori = new StringReader(data)) { // use StringReader instead of StreamReader
            string lineuserori = "";

            for (int klk = 0; klk <= 92159; klk++) {
                lineuserori = fileuserori.ReadLine();
                if (!string.IsNullOrEmpty(lineuserori)) {
                    // string[] valuesiesi = lineitemori.Split('\t');
                    string[] valuesiesi = lineuserori.Split('\t');
                    int useridori;
                    foreach (string value in valuesiesi) {
                        useridori = Convert.ToInt32(valuesiesi[1]);
                        d[klk] = useridori;
                    }
                }
            }
        }
    }


    private void button1_Click(object sender, EventArgs e) {
        var userseq = -1;

        int sc = Convert.ToInt32(txtbx_id.Text);
        int n = Convert.ToInt32(txtbx_noofrecomm.Text);
        for (int yu = 0; yu <= 92161; yu++) {
            int wer = d[yu];
            if (wer == sc) {
                userseq = yu;
                break;
            }
        }
        if (userseq >= 0 && userseq <= 92161) {
            var results = new List<float>(1143600);
            for (int z = 0; z < 1143600; z++) {
                // results.Add(dotproduct(userseq, z));
            }
            var sb1 = new StringBuilder();
            foreach (var resultwithindex in results.Select((r, index) => new { result = r, Index = index }).OrderByDescending(r => r.result).Take(n)) {
                // sb1.AppendFormat(CultureInfo.InvariantCulture, "{0}: {1}", c[resultwithindex.Index], resultwithindex.result);
                // sb1.AppendLine();
            }
            MessageBox.Show(sb1.ToString());
        }
        if (userseq < 0 || userseq > 92161) {
            MessageBox.Show("Error");
        }
    }
}
公共部分类表单1:表单{
//表单有三个控件txtbx_id、txtbx_noofrecom和button1。
int[]d=新int[92162];
字符串数据=
“0\t762354\n”
+“1\t645645\n”
+“2\t4356743\n”
+“3\t576899063\n”
+“4\t64378\n”;
公共表格1(){
初始化组件();
使用(var fileuserori=newstringreader(data)){//使用StringReader而不是StreamReader
字符串lineuserori=“”;
对于(int-klk=0;klk r.result)。取(n)){
//sb1.AppendFormat(CultureInfo.InvariantCulture,“{0}:{1}”,c[ResultWithinIndex.Index],ResultWithinIndex.result);
//sb1.AppendLine();
}
Show(sb1.ToString());
}
如果(userseq<0 | | userseq>92161){
MessageBox.Show(“错误”);
}
}
}

谢谢@fliedonion。我试过了,但结果和以前一样。
string[] valuesiesi = lineitemori.Split('\t');
string[] valuesiesi = lineuserori.Split('\t');
public partial class Form1 : Form {
    // form have three controls  txtbx_id, txtbx_noofrecomm and button1.

    int[] d = new int[92162];
    string data = 
         "0\t762354\n"
        +"1\t645645\n"
        +"2\t4356743\n"
        +"3\t576899063\n"
        +"4\t64378\n";

    public Form1() {
        InitializeComponent();

        using (var fileuserori = new StringReader(data)) { // use StringReader instead of StreamReader
            string lineuserori = "";

            for (int klk = 0; klk <= 92159; klk++) {
                lineuserori = fileuserori.ReadLine();
                if (!string.IsNullOrEmpty(lineuserori)) {
                    // string[] valuesiesi = lineitemori.Split('\t');
                    string[] valuesiesi = lineuserori.Split('\t');
                    int useridori;
                    foreach (string value in valuesiesi) {
                        useridori = Convert.ToInt32(valuesiesi[1]);
                        d[klk] = useridori;
                    }
                }
            }
        }
    }


    private void button1_Click(object sender, EventArgs e) {
        var userseq = -1;

        int sc = Convert.ToInt32(txtbx_id.Text);
        int n = Convert.ToInt32(txtbx_noofrecomm.Text);
        for (int yu = 0; yu <= 92161; yu++) {
            int wer = d[yu];
            if (wer == sc) {
                userseq = yu;
                break;
            }
        }
        if (userseq >= 0 && userseq <= 92161) {
            var results = new List<float>(1143600);
            for (int z = 0; z < 1143600; z++) {
                // results.Add(dotproduct(userseq, z));
            }
            var sb1 = new StringBuilder();
            foreach (var resultwithindex in results.Select((r, index) => new { result = r, Index = index }).OrderByDescending(r => r.result).Take(n)) {
                // sb1.AppendFormat(CultureInfo.InvariantCulture, "{0}: {1}", c[resultwithindex.Index], resultwithindex.result);
                // sb1.AppendLine();
            }
            MessageBox.Show(sb1.ToString());
        }
        if (userseq < 0 || userseq > 92161) {
            MessageBox.Show("Error");
        }
    }
}