小编Goo*_*ber的帖子

C#Foreach循环哈希表问题

我有一些代码填充哈希表,其中一个问题作为键,一个答案的arraylist作为值.

我想从哈希表中打印出这些值,以便在哈希表中显示每个问题的问题和相应的解决方案.

我知道我已经用foreach循环做了一些完全愚蠢的事情来打印出哈希表的内容,但是我已经编写了好几个小时的编码,我想不出打印我的嵌套arraylist的逻辑.

非常感谢.

这是代码:

//Hashtable Declaration
static Hashtable sourceList = new Hashtable();    

//Class For Storing Question Information
public class QuestionAnswerClass
{
    public string simonQuestion;
    public ArrayList simonAnswer = new ArrayList();
}

//Foreach loop which populates a hashtable with results from
//a linq query that i need to print out.
foreach (var v in linqQueryResult)
        {
            Debug.WriteLine(v.question);
            newques.simonQuestion = v.question;
            //Debug.WriteLine(v.qtype);
            //newques.simonQType = v.qtype;

            foreach (var s in v.solution)
            {
                Debug.WriteLine(s.Answer);
                newques.simonAnswer.Add(s.Answer);
            }
        }          

        sourceList.Add(qTextInput,newques);

//foreach loop to print out …
Run Code Online (Sandbox Code Playgroud)

c# foreach hashtable

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

C# Linq Guid 匿名类型问题

我有一个 linq 查询,它根据问题文本返回问题的 ID。然后需要使用该 ID 将日期表中的日期与该特定问题相关联。问题已存储,并且日期存储在不同的时间。

问题是查询以匿名类型返回 QuestionID,因此当我需要将该 QuestionID 分配为另一个表中的 QuestionID 时,它会抛出一个错误,指出该表需要 Guid。之后,我将匿名类型转换为字符串,然后使用 GUID 转换功能将字符串转换为 GUID,但现在出现错误,GUID 应该是 32 个字符和 4 个破折号。

我对此的想法是,匿名类型将 QuestionID 返回为“QuestionID = jkj939-89239829- 等等”。- 前面有字符的前缀,因此在转换为 GUID 时,转换后的字符串包含这些字符。

我错过了什么吗?我真的不明白为什么它会这样做,有没有办法删除匿名类型返回的前缀?帮助将不胜感激。

这是代码:

public static void GetQuesID(string quesText)
    {
        ExamineDataContext dc = new ExamineDataContext();
        var matchedques = from q in dc.GetTable<Question>()
                            where q.QuestionText.Contains(quesText)
                            select new{
                                q.QuestionID
                            };
        foreach (var element in matchedques)
        {
            MessageBox.Show(element.ToString());
        }

        try
        {
            Guid g = Guid.NewGuid();
            Table<DateLastUsed> dlused = Repository.GetDateLastUsedTable();
            DateLastUsed dlu = new DateLastUsed(); ; …
Run Code Online (Sandbox Code Playgroud)

c# linq guid anonymous-types linq-to-sql

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

C#Winforms - 删除具有特定文件名的硬盘驱动器上的文件夹?

我希望能够将文件夹的路径传递给应用程序,让程序运行该文件夹的整个内容,包括嵌套的文件夹和文件,删除它遇到的具有特定名称的任何文件夹.

我一直在寻找可能的方法,但我似乎找不到任何好的文档.

非常感谢帮助.

亲切的问候,

.net c#

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

带有实体框架的C#Silverlight - 在AutoGenerated EntityQuery上更改返回类型?

背景

目前我有一个使用RIA服务的C#Silverlight业务应用程序.该应用程序使用ADO.NET实体框架和域服务类托管在ASP.NET中,以读取和写入SQL Server数据库.

脚本

我的DomainServiceClass中有一个服务器端方法,它返回一个IEnumerable对象列表.在我的ApplicationName.Web.g.cs文件中,我也有一个自动生成的函数.在我的Silverlight客户端应用程序中,我希望能够在返回的对象列表上运行foreach循环.

DomainServiceClass方法:

    public IEnumerable<Image> GetJobImages(string jobGuid)
    {
        var query =
            (
             from j in Context.Job
             orderby (j.ShortCode)
             where j.JobID.Equals(jobGuid)
             join a in Context.Audit //.Distinct()
             on j.JobID equals a.Job.JobID
             join i in Context.Image
             on a.Image.JobID equals i.JobID

             select new Image
             {
                 HighResUrl = i.HighResUrl,
                 LowResUrl = i.LowResUrl,
                 UploadDate = i.UploadDate
                 }).AsEnumerable();

        return query;
    }
Run Code Online (Sandbox Code Playgroud)

ApplicationName.Web.g.cs AutoGenerated功能:

    /// <summary>
    /// Returns an EntityQuery for query operation 'GetJobImages'.
    /// </summary>
    public EntityQuery<Image> GetJobImagesQuery(string jobGuid)
    {
        Dictionary<string, object> parameters = …
Run Code Online (Sandbox Code Playgroud)

c# silverlight ienumerable entity-framework

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

C#多线程 - 告诉使用锁定代码完成第一个进程的等待进程?

我知道在开发多线程应用程序时,您必须使用监视器或锁等同步访问共享内存.

您如何告诉等待进程(proc2)使用锁定代码块(proc1)的进程是否已完成使用代码?

c# multithreading locking monitor

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

带有 DevExpress DataGrid 的 C# DataSet CheckBox 列

设想

我有一个 DevExpress DataGrid,它绑定到 C# 中的 DataSet。我想填充每个数据集行以在第一列中包含一个字符串,在第二列中包含一个复选框。我下面的代码不能像我想要的那样工作,我不知道为什么.....

编码

正如你所看到的,我已经声明了一个数据集,但是当我尝试将一个新的复选框对象传递给第二列时,它只显示复选框的系统名称。

        DataSet prodTypeDS = new Dataset();
        DataTable prodTypeDT = prodTypeDS.Tables.Add();
        prodTypeDT.Columns.Add("MurexID", typeof(string));
        prodTypeDT.Columns.Add("Haganise",typeof(CheckBox));

        //WHY DOES THIS NOT WORK? 
        //(Displays "System.Windows.Forms.CheckBox, CheckState: 0")
        //Instead of a checkbox.
        CheckBox c = new CheckBox();
        prodTypeDS.Tables[0].Rows.Add("Test",c);
        //This doesn't work either....
        prodTypeDS.Tables[0].Rows.Add("Test",c.CheckState);
Run Code Online (Sandbox Code Playgroud)

......我希望这只是因为它是一个 DevExpress 数据网格......

c# checkbox gridview devexpress dataset

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

C#线程池跨线程通信

情景

我有一个Windows窗体应用程序,其中包含一个带有列表框的MAINFORM.MAINFORM还有一个THREAD POOL,可以创建新的线程并将其激活,以执行大量不同的处理.虽然这些不同的工作线程中的每一个都正在完成其工作,但我想将此进展报告给我的MAINFORM,但是,我不能,因为它需要跨线程通信.

进展

到目前为止,我所看到的与此主题相关的所有教程等都涉及自定义(ish)线程实现,而我确实有一个相当基本的(ish)标准THREAD POOL实现.因为我不想真正修改我的任何代码(因为应用程序像没有quarms的野兽一样运行) - 我正在考虑如何进行这种跨线程通信.另外 - 如何完全实现不同的"LOGTOSCREEN"方法(显然仍然牢记跨线程通信的事情).

警告:

我在工作中使用这个网站,我们只被锁定到IE6,因此javascript失败,这意味着我无法在工作期间点击接受任何答案,因此我的接受率很低.对此我无能为力,我很害怕,抱歉.

编辑:

我没有在工作中安装我的计算机上的权利.我有Firefox,但在Firefox上使用此站点时代理工作失败.不,有趣的是,我家里没有互联网,我真的只是搬到了这个城市而且公寓是新建的,所以地址还没有在邮局注册,因此电话公司不能找到他们系统上的地址,直到他们派出一名测量师,聪明的裤子.

进一步编辑:

我不想改变我的演绎实施.在所有! - 接受以启用跨线程通信....为什么后台工作者会在这里帮忙!?

代码相关编辑:

当我的THREAD POOL执行新线程时,它会创建一个类的新实例并在该新线程上调用整个事件........即您的代码示例不太合适. ...我认为?

c# multithreading

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

强大的分布式C#(WCF)架构设计

我想设计一个新的分布式应用程序,但我有一些问题,我需要一些天才的建议,希望你们这些人:

脚本

我目前支持一个开始落在裂缝之间的遗留应用程序.它是使用.Net Remoting实现的分布式客户端 - 服务器应用程序.我无法准确解释它的作用,因为我不被允许.......但是我们只是说它有很多MATHS.我想使用WCF重新设计和重写应用程序.

先决条件

实现的服务器端将托管在Windows服务中.客户端将是一个Windows窗体应用程序.服务器端将执行大量内存密集型处理.服务器会将此数据吐出到多个瘦客户端(20-ish).服务器大部分时间都会将数据传递给客户端,但有时客户端会将数据持久化回服务器.传输数据的速度非常重要,但我很清楚WCF可以处理快速的数据分发.加密/安全性并不重要,因为应用程序将在受到高度保护的本地网络上运行.

查询

鉴于以上信息:

1)我最喜欢哪种设计模式? - 请记住,我希望服务器不断地将新计算的信息立即推送到客户端,而不是当前实现涉及客户端连续从服务器拉出的信息.2)我应该使用什么类型的WCF绑定来确保数据传输的最大速度?(尽可能接近实时是我所追求的)3)我应该使用类库来共享客户端和服务器应用程序之间的公共对象吗?4)在客户端数据绑定我的对象以便在数据更改时不断查看实时更新的最佳方法是什么?

如果我忘记了任何事情,那么请随意指出这一点

非常感谢.

c# wcf windows-services

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

以编程方式锁定屏幕

如何使用C#以编程方式锁定iPhone的屏幕?

c# xamarin.ios lockscreen ios xamarin

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

Azure云表存储

摘要

  • 我正在尝试学习如何读取和写入Azure云表存储.
  • 我已经阅读了很多教程,并且有一些问题.
  • 在下面的简单代码示例中,我们访问存储帐户,获取对现有表的引用,插入记录,然后从表中读回记录,注意它现在存在于云存储表中.

简单的代码示例

static void Main(string[] args)
{
  try
  {
     CloudStorageAccount storageAccount =
        CloudStorageAccount.Parse("DefaultEndpointsProtocol=https;AccountName=<your_storage_name>;AccountKey=<your_account_key>");
     CloudTableClient tableClient = storageAccount.CreateCloudTableClient();

     CloudTable table = tableClient.GetTableReference("people");
     table.CreateIfNotExists();

     CustomerEntity customer1 = new CustomerEntity("Harp", "Walter");
     customer1.Email = "Walter@contoso.com";
     customer1.PhoneNumber = "425-555-0101";

     // Create the TableOperation that inserts the customer entity.
     var insertOperation = TableOperation.Insert(customer1);

     // Execute the insert operation.
     table.Execute(insertOperation);

     // Read storage
     TableQuery<CustomerEntity> query =
        new TableQuery<CustomerEntity>()
           .Where(TableQuery.GenerateFilterCondition("PartitionKey",
               QueryComparisons.Equal, "Harp"));
     var list = table.ExecuteQuery(query).ToList();
   }
   catch (StorageException ex)
   {
       // Exception handling here. …
Run Code Online (Sandbox Code Playgroud)

c# azure azure-storage azure-storage-blobs azure-table-storage

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