小编Jay*_*ena的帖子

为什么我们从Interface而不是Class创建对象实例?

我已经多次看到从类生成的Interface实例.为什么以这种方式使用接口?Interface实例仅在派生类的帮助下创建,我们只能通过此实例访问此接口成员.这有什么优势?我很困惑..

interface IPrint
{
    void Print();
}

class Sample : IPrint
{
    public void Print()
    {
        Console.WriteLine("Print...");
    }

    public void Sample()
    {
        Console.WriteLine("Sample...");
    }
}

class Program
{
    static void Main(string[] args)
    {
        IPrint print = new Sample();
        print.Print();
    }
}
Run Code Online (Sandbox Code Playgroud)

c# interface class derived-class

57
推荐指数
2
解决办法
5万
查看次数

Xamarin表单集Picker SelectedItem

我正在使用xamarin表单。我正在使用PickerDropDownList。

如何将selectedItem设置为Picker?

我的密码

<Picker x:Name="VendorName" Title="Select" ItemDisplayBinding="{Binding VendorName}" SelectedItem="{Binding VendorName}" Style="{StaticResource PickerStyle}"></Picker>
Run Code Online (Sandbox Code Playgroud)

服务器端代码是

Device.BeginInvokeOnMainThread(() =>
{
VendorName.ItemsSource = VendorList;
});

var currentVendor = new List<Vendor>();
currentVendor.Add(new Vendor { VendorID = "111", VendorName = "aaaa" });

VendorName.SelectedItem = currentVendor;
Run Code Online (Sandbox Code Playgroud)

c# asp.net picker xamarin

6
推荐指数
2
解决办法
5124
查看次数

将CSV数据导入C#类

我知道如何阅读和显示.csv文件的一行.现在我想解析该文件,将其内容存储在数组中,并将这些数组用作我创建的某些类的值.

我想学习如何.

这是一个例子:

basketball,2011/01/28,Rockets,Blazers,98,99
baseball,2011/08/22,Yankees,Redsox,4,3
Run Code Online (Sandbox Code Playgroud)

如您所见,每个字段用逗号分隔.我创建了Basketball.cs和Baseball类,它是Sport.cs类的扩展,它包含以下字段:

private string sport;
private string date;
private string team1;
private string team2;
private string score;
Run Code Online (Sandbox Code Playgroud)

我知道这很简单,并且有更好的方法来存储这些信息,即为每个团队创建类,使日期成为DateType数据类型,以及更多相同但我想知道如何将此信息输入到类.

我假设这与getter和setter有关...我也读过字典和集合,但我想通过将它们全部存储在数组中来开始简单...(如果这有意义.. .随意纠正我).

这是我到目前为止所拥有的.它所做的就是阅读csv并在控制台上鹦鹉学舌:

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

namespace Assign01
{
    class Program
    {
        static void Main(string[] args)
        {
            string line;
            FileStream aFile = new FileStream("../../sportsResults.csv", FileMode.Open);
            StreamReader sr = new StreamReader(aFile);

            // read data in line by line
            while ((line = sr.ReadLine()) != null)
            {
                Console.WriteLine(line);
                line = sr.ReadLine();
            }
            sr.Close();
        } …
Run Code Online (Sandbox Code Playgroud)

c# csv import class getter-setter

4
推荐指数
4
解决办法
4万
查看次数

SQLite - 关闭整个数据库的区分大小写

我可以关闭整个数据库(即所有表的所有列)的区分大小写吗?

如果我已经创建了数据库会发生什么?

我是否必须手动将所有列设置COLLATENOCASE

我尝试NOCASE过几个查询,如下所示

select * from ...table  COLLATE NOCASE
Run Code Online (Sandbox Code Playgroud)

但是如果我或其他新人忘记使用怎么办?NOCASE 我厌倦了在创建表时使每一列都为 NOCASE。

sqlite

1
推荐指数
1
解决办法
3019
查看次数

C# 将 System.Data.EnumerableRowCollection&lt;System.Data.DataRow&gt; 转换为 DataTable

我有一个使用 Linq 过滤的数据表:

result = myDataTable.AsEnumerable().Where(row => row.Field<string>("id").Contains(values));
Run Code Online (Sandbox Code Playgroud)

我也尝试过使用CopyToDataTable类似的方法

result.CopyToDataTable()
Run Code Online (Sandbox Code Playgroud)

result.CopyToDataTable<DataRow>()
Run Code Online (Sandbox Code Playgroud)

但他们没有工作。如何转换result为新的数据表?我搜索了许多 Stack Overflow 问题和许多其他教程,但找不到我想要的。

更新

我已将 HashSet 连接到逗号分隔值,我想我应该使用 String 数组还是 HashSet?

c# ienumerable

1
推荐指数
1
解决办法
1万
查看次数