出于同一目的的单独课程

时间:2019-07-02 10:49:30

标签: c#

我有这堂课

public class BlessingDTO
{
    public List<string> BlessingCategoryName;

    public List<string> Blessings;
}

我通过这种方式得到两个列表的响应:

public async Task<List<BlessingDTO>> GetBlessing(string UserType)
{
    string blessing = "Blessing_" + UserType;
    List<BlessingDTO> results = new List<BlessingDTO>();
    using (DTS_OnlineContext context = new DTS_OnlineContext())
    {
        var items = await context.Messages.AsNoTracking().Where(x => x.MessageContext == blessing).GroupBy(x=>x.GroupKey).Select(b=>b.OrderBy(x=>x.Sort)).ToListAsync();
        if (items.Count() > 0)
        {//Notes.Select(x => x.Author).Distinct();

            results = items.ToList().ConvertAll(x => new BlessingDTO()
            { BlessingCategoryName = x.ToList().Select(y => y.MessageName).Distinct().ToList(),
                Blessings = x.ToList().Select(y => y.MessageText).ToList()
            });
        }
    }

    return results;
}

如果我要更改班级,我的上衣将是:

public class BlessingDTO
{
    public List<string> BlessingCategoryName;

    public List<bless> Blessings;
}

public class bless
{
    public string text;

    public int length;
}

如何初始化新类?

Blessings = new bless 

不会给出结果。如何保存数据以将其带入响应

2 个答案:

答案 0 :(得分:1)

让我们关注这一部分:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:app="http://schemas.android.com/apk/res-auto"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent">


<TextView
    android:id="@+id/tv_actionbar_page_title"
    android:layout_width="0dp"
    android:layout_height="0dp"
    android:layout_marginStart="8dp"
    android:layout_marginTop="8dp"
    android:layout_marginBottom="8dp"
    android:gravity="center"
    android:text="some very long txtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasdatxtsadasdasdasdasdasda"
    android:textSize="16sp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.0"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.0" />

<ImageView
    android:id="@+id/iv_close"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/ic_launcher_background"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

</android.support.constraint.ConstraintLayout>

其中items .ToList() .ConvertAll(x => new BlessingDTO() { BlessingCategoryName = x.ToList().Select(y => y.MessageName).Distinct().ToList(), Blessings = x.ToList().Select(y => y.MessageText).ToList() } ); 可能是items,因此List<List<Message>>x

现在,引起错误的原因如下:List<Message>。这将为邮件列表创建一个新列表,然后从该列表中选择Blessings = x.ToList().Select(y => y.MessageText).ToList(),结果为MessageText。最后,将为这些字符串创建一个新列表。此字符串列表不可分配给IEnumerable<string>,因此会产生错误。

您想要的是List<bless>的结果,因此我们需要将List<bless>列表转换为List<Message>。我们知道如何做到这一点,即选择一个List<bless>。我们要做的就是填写x.Select(message => new bless()).ToList()bless的属性。另一个属性由您决定。

答案 1 :(得分:0)

您可以像这样初始化列表:

public class BlessingDTO
{
    public List<string> BlessingCategoryName;
    public List<bless> Blessings = new List<bless>();
}

尽管,我还是建议这些字段是对属性的更改,因为这在C#中更惯用了

public class BlessingDTO
{
    public List<string> BlessingCategoryName {get;set;}
    public List<bless> Blessings {get;set;} = new List<bless>();
}