2016-04-30 26 views
-3

在LST我有studentId(int)和余弦相似性(双)我已经整理他们在后,现在降序我想在int数组如何从列表中获取只有int部分并存储在数组中?

public class Student 
{ 
    public int Id { get; set; } 
    public double? Cosine { get; set; } 
} 

public List<Student> GetStuCosineSimilarity() 
{ 
    List<Student> lst = new List<Student>(); 

    lst = (from s in DB.Students 
      select new Student() 
      { 
       Id = s.StudentId, 
       Cosine = s.cosineSimilarity 
      }).ToList(); 

    lst = lst.OrderBy(k => k.Cosine).ToList(); // Sorting the float value 
    return lst; 
} 
+3

你已经问了一个关于'orderby'的问题,现在是'select',你打算询问每一个LINQ操作符。 –

+1

'lst.Select(k => k.Id).ToArray();'。您今后应该做一些研究,因为这些简单问题的答案已经存在于整个SO中。 – Nkosi

回答

0

只能从LST整数值的代码看起来像代码下面。对发布的代码进行了一些更改以消除编译器错误。

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      Student student = new Student(); 
      List<Student> students = student.GetStuCosineSimilarity(); 
      int[] ids = students.Select(x => x.Id).ToArray(); 
     } 
    } 
    static public class DB 
    { 
     public static List<Student> Students { get; set; } 
    } 
    public class Student 
    { 
     public int Id { get; set; } 
     public double? Cosine { get; set; } 

     public List<Student> GetStuCosineSimilarity() 
     { 
      List<Student> lst = new List<Student>(); 

      lst = (from s in DB.Students 
        select new Student() 
        { 
         Id = s.Id, 
         Cosine = s.Cosine 
        }).ToList(); 

      lst = lst.OrderBy(k => k.Cosine).ToList(); // Sorting the float value 
      return lst; 
     } 
    } 
} 
相关问题