小编Cas*_*erT的帖子

c#中是否可以使用二维列表?

我想建立一个多维列表.作为参考,我正在研究播放列表分析器.

我有一个文件/文件列表,我的程序保存在标准列表中.每个列表条目中文件的一行.

然后,我使用正则表达式分析列表以查找特定行.这些行中的一些数据/结果需要放入一个新的多维列表中; 因为我不知道我最终会得到多少结果/数据,所以我不能使用多维数组.

这是我要插入的数据:

List
(
    [0] => List
        (
            [0] => Track ID
            [1] => Name
            [2] => Artist
            [3] => Album
            [4] => Play Count
            [5] => Skip Count

        )
    [1] => List
        (
And so on....

实例:

List
(
    [0] => List
        (
            [0] => 2349
            [1] => The Prime Time of Your Life
            [2] => Daft Punk
            [3] => Human After All
            [4] => 3
            [5] => 2

        )
    [1] => List
        ( …

c# list

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

如何同步Chrome扩展选项

我已经制作了带有选项页面的Chrome扩展程序.数据保存在localstorage中,工作正常.

Chrome不会将本地存储同步到云,只是扩展.这意味着任何用户数据都不会同步到同一个Google帐户的其他计算机.

我在http://developer.chrome.com/extensions/docs.html上找不到API,它允许我同步用户选择的首选项.

你建议用什么方法?

javascript sync local-storage google-chrome-extension

31
推荐指数
2
解决办法
8054
查看次数

使ListBox项具有与项文本不同的值

我想要ListBox一整套物品.虽然,每个项目应该有不同的值.因此,当用户选择项目并按下按钮时,将调用一个方法,该方法将使用选择项目具有的值.

我不想向用户透露项目值.

编辑:这不适用于ASP.NET,它适用于Windows窗体应用程序.我只是认为HTML示例很容易阅读.

我从HTML获得灵感:

<form>
<input type="radio" name="sex" value="Value1" /> Male
<br />
<input type="radio" name="sex" value="Value2" /> Female
</form>
Run Code Online (Sandbox Code Playgroud)

这也允许我使用与用户看到的值不同的值.

c# winforms

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

Linq的组合发电机

是否有可能创建一些Linq,生成一个包含一系列数字的所有可能组合的List?

如果输入"21",它将生成一个包含以下元素的列表:

list[0] = "21"
list[1] = "22"
list[2] = "11"
list[3] = "12"
Run Code Online (Sandbox Code Playgroud)

(不按顺序)

我知道你可以使用范围来做以下事情:

List<char> letterRange = Enumerable.Range('a', 'z' - 'a' + 1).Select(i => (Char)i).ToList(); //97 - 122 + 1 = 26 letters/iterations
Run Code Online (Sandbox Code Playgroud)

从az生成字母表.但我似乎无法转移这些知识来制作组合发生器

我已经能够用以下代码弄清楚它,但它似乎太笨重了,我相信它可以用几行完成.它确实感觉我做的是一个糟糕的解决方案.

想象一下,GetAllCombinations("4321")如果有帮助,我已经打过电话

public static String[] GetAllCombinations(String s)
{
    var combinations = new string[PossibleCombinations(s.Length)];

    int n = PossibleCombinations(s.Length - 1);

    for (int i = 0; i < s.Length; i++)
    {
        String sub;
        String[] subs;

        if (i == 0)
        {
            sub = s.Substring(1); //Get …
Run Code Online (Sandbox Code Playgroud)

c# linq combinations

19
推荐指数
3
解决办法
2万
查看次数

什么时候使用C#类库(.dll)?

我是一个从未真正使用.dll文件的程序员.当然,当我需要第三方软件时,例如图形库,帮助我创建图形等的库.我会将reference/ddl文件添加到我的程序中并在我的代码中使用它们.

此外,似乎你可以使用.dll来做很多不同的事情,所以我想把这个话题集中在C#上.

现在我正在开发一个消毒库(?)(我认为这是正确的术语),它将充满相关的方法,可以用各种不同的方式消毒变量.

我想知道的是:

会有什么好处:

1)将方法写入类库 - >编译/构建它 - >添加库作为程序的引用 - 需要清理一些变量吗?

或者如果我在哪里:它会完全相同:

2)在程序中创建一个新的SanitizeClass - >添加所有的sanitize方法 - >从需要清理变量的程序中的不同类中调用SanitizeClass中的方法

一般来说,我也想知道何时使用编译的类库是有利的.我在想速度,安全性,所有这一切.

任何人都可以启发我吗?:)

c# dll class-library class

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

System.Data.SQLite参数问题

我有以下代码:

try
{
    //Create connection
    SQLiteConnection conn = DBConnection.OpenDB();

    //Verify user input, normally you give dbType a size, but Text is an exception
    var uNavnParam = new SQLiteParameter("@uNavnParam", SqlDbType.Text) { Value = uNavn }; 
    var bNavnParam = new SQLiteParameter("@bNavnParam", SqlDbType.Text) { Value = bNavn };
    var passwdParam = new SQLiteParameter("@passwdParam", SqlDbType.Text) {Value = passwd};
    var pc_idParam = new SQLiteParameter("@pc_idParam", SqlDbType.TinyInt) { Value = pc_id };
    var noterParam = new SQLiteParameter("@noterParam", SqlDbType.Text) { Value = noter };
    var licens_idParam = new …
Run Code Online (Sandbox Code Playgroud)

c# parameters system.data.sqlite

9
推荐指数
2
解决办法
3万
查看次数

Datagridview在单击时导致IndexOutOfRangeException

我有一个datagridview,我们将调用dataGridViewExample.

我的对象(不常见的数据类型是因为我的数据库是SQLite):

class MyObject
{
    public Int64 Vnr { get; set; }
    public string Name { get; set; }
    public Single Price { get; set; }
    public int Amount { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

这是相关代码:

//This form gets called with a .ShowDialog(); in my form1.

private List<MyObjecte> ExampleList = new List<MyObject>();

public MyForm()
{
    dataGridViewExample.DataSource = OrdreInkøbsListe;
}


private void AddtoDataGridViewExample()
{
    //Add a new MyObject to the list
    ExampleList.Add(new myObject()
                 {
                     Vnr = newVnr,
                     Amount = newAmount,
                     Price = …
Run Code Online (Sandbox Code Playgroud)

c# datagridview winforms

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

如果数据库丢失,使SQLite连接失败?(删除/移动)

我里面有以下方法class DBConnection.我调用这样的方法:SQLiteConnection conn = DBConnection.OpenDB();当我想打开一个连接时,我可以执行我的查询.当我想关闭连接时,我可以调用类似的方法.

方法:

public static SQLiteConnection OpenDB()
{
    try
    {
        //Gets connectionstring from app.config
        string myConnectString =
            ConfigurationManager.ConnectionStrings[
                "LegMedSQLLite.Properties.Settings.LegMedSQLLiteDBConnectionString"].ConnectionString;

        var conn = new SQLiteConnection(myConnectString);

        conn.Open();
        return conn;
    }
    catch (SQLiteException e)
    {
        MessageBox.Show(e.ToString(), "TEST");
        return null;
    }
}
Run Code Online (Sandbox Code Playgroud)

这一切都很好,花花公子.问题是尝试捕获.让我们想象以下场景:

  • 数据库文件已被移动/删除.

永远不会抛出异常.实际上,我偶然发现的第一个问题是当我执行我的第一个查询时 - 它认为没有这样的表,它会抛出自己的异常.我被这种奇怪的现象震惊了,但我很快发现SQLite创建了一个新的 数据库.空是意味着没有表,没有,只是一个SQLT数据库文件与旧数据库同名,应该在那里.

这是一个问题,我希望应用程序在我尝试调用时立即知道是否存在错误(数据库未找到,已损坏,被其他进程使用等)SQLiteConnection conn = DBConnection.OpenDB();.

当然,我可以尝试在我的方法中调用File.Exists,但这似乎不是一个合适的解决方案.有帮助吗?

c# sqlite

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

使用LINQ填充List <int>

在python中你可以这样做:

arr = list(set(randint(-50, 50) for _ in range(10)))
Run Code Online (Sandbox Code Playgroud)

我知道如何编写一个扩展方法,用随机值填充数组,列表或任何你需要的东西.我发现这很麻烦,我真的很佩服你如何在python中做到这一点.虽然,据我所知,我只知道Enumerable.Range,哪些只能用于生成固定序列.

是否有可能在C#中?

c# linq random

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

我的业务逻辑应该如何与我的数据层交互?

所以我正在制定我的计划草案.

这是我的计划:

GUI
---
Business Logic
---
Data
Run Code Online (Sandbox Code Playgroud)

您应该能够毫无问题地替换任何一个GUI或该Data层.每一层都看着自己.因此GUI将调用方法,Business logic并且方法将始终返回状态和可能的一些数据.应该始终在GUI层中确定GUI应如何响应数据.业务逻辑应该对此没有影响.因此,与GUI和业务逻辑的关系已经得到解决.我希望你能跟着我.

现在换一些更具体的东西.我对数据层的计划是使用数据库.现在,Business Logic应该如何从数据层调用方法?

也许我应该创建一个枚举,它对应于数据层知道的不同硬编码SQL查询?

例如

Datalayer.GetResults(Queries.GetAllCustomersIDs);
Run Code Online (Sandbox Code Playgroud)

查询是枚举.

如果这是正确的方法,GetResults应该返回什么?一个字符串数组?但是如果查询具有多维数据呢?

我应该使用2种通用方法吗?

Datalayer.GetSingleDimensionResults(SingleDimensionQueries.GetAllCustomersIDs);
Datalayer.GetMultipleDimensionResults(MultiDimensionQueries.GetAllCustomers);
Run Code Online (Sandbox Code Playgroud)

或者我应该对每种数据请求进行查询?

Datalayer.GetAllCustomerIDs;
DataLayer.GetAllCustomers;
Run Code Online (Sandbox Code Playgroud)

等等

architecture

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