小编Gra*_*ICA的帖子

关于Fibonacci递归的解释

我必须对此有所了解.似乎没有明确解释的好指南.功能树是什么样的?

static long Fib(int n)
{  
    if (n <= 2)  
    {   
        return 1;  
    }  
    return Fib(n - 1) + Fib(n - 2); 
}
Run Code Online (Sandbox Code Playgroud)

假设我这样做Fib(7),我实际上明白它应该是这样的:

事情是,看起来树似乎fib(7)实际意味着fib(6)+ fib(5)应该是真的....但是,如果我理解递归而不是fib(7)实际fib(6)+ fib(5)但是fib(5)还没有操作,因为fib(6)现在将自己称为fib(4)+ fib(3)并且再一次fib(3)将不会执行,因为它fib(4)会自动调用,直到它停止在"停止"状态...而不是什么?

如果fib(7)呼叫fib(6)等等......直到fib(1),所有其他fib(n-2)功能呢?

每次结果如何实际返回并告诉我它的值是fib(7)多少?

c# iteration recursion loops fibonacci

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

将数据行传递给表单并将控件绑定到它

许多小时的互联网搜索都没有发现这个问题的明确答案,所以我想我会重新哈希它。我需要将数据行传递给表单,然后将该表单中的控件绑定到数据行中的值。Datarow 是由类方法创建的:

DataRow newRow = cusData.PrimeRecord();
newRow["recordid"] = cusData.GetRecordID();
newRow["recdate"] = DateTime.Now;
newRow["lastmod"] = DateTime.Now;
CusUpdate updateFrm = new CusUpdate(newRow);                    
Run Code Online (Sandbox Code Playgroud)

其中 PrimeRecord() 方法使用以下代码定义:

public DataRow PrimeRecord(){    
    DataTable dt = new DataTable();
    MySqlCommand cmd = new MySqlCommand("SELECT * FROM "+tableName+" LIMIT 1",sqlConnect);
    MySqlDataAdapter da = new MySqlDataAdapter(cmd);
    da.FillSchema(dt,SchemaType.Mapped);
    DataRow dr = dt.NewRow();
    return dr;
}
Run Code Online (Sandbox Code Playgroud)

我所有的数据库 CRUD 代码都已定义,我不想绑定到 DataAdapters 等。我只想将 DataRow 传递给表单,更新数据,然后将其传递给正确的 CRUD 方法。我会接受任何建议。谢谢!

c# data-binding crud datarow

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

理解字典,使用c#向字典添加新值

如果我的Customer对象具有Payment属性,它是自定义枚举类型和十进制值的字典

Customer.cs
public enum CustomerPayingMode
{
   CreditCard = 1,
   VirtualCoins = 2, 
   PayPal = 3
}
public Dictionary<CustomerPayingMode, decimal> Payment;
Run Code Online (Sandbox Code Playgroud)

在客户端代码中,我有向字典添加值的问题,尝试这样

Customer cust = new Customer();
cust.Payment = new Dictionary<CustomerPayingMode,decimal>()
                      .Add(CustomerPayingMode.CreditCard, 1M);
Run Code Online (Sandbox Code Playgroud)

c# dictionary initialization

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

有没有我可以使用数组或其他东西来减少代码在这里?

我有7个单选按钮和5个复选框.这是用于选择第一个单选按钮并选择第一个复选框以及其他复选框的代码.这仅在选中第一个复选框时有效.这意味着我已经为每个复选框重新创建了这个.对于第一个单选按钮,这是有意义的.我意识到这样做只会是一大堆代码.它有用,但它非常非常草率.

所以,我想知道是否有某种方式我可以在数组或其他东西中做到这一点?我只是想缩短这个很多.任何有关这方面的帮助将不胜感激.谢谢.

if (radBrick.Checked)
{
    intBrick = 100000;
    intTotal = intBrick;

    if (chkBasketball.Checked)
    {
        intBasketball = 50000;
        intTotal = intBrick + intBasketball;

        if (chkFire.Checked)
        {
            intFire = 500;
            intTotal = intBrick + intBasketball + intFire;

            if (chkMarble.Checked)
            {
                intMarble = 20000;
                intTotal = intBrick + intBasketball + intFire + intMarble;

                if (chkSteel.Checked)
                {
                    intStain = 10000;
                    intTotal = intBrick + intBasketball + intFire + intStain + intMarble;

                    if (chkGarage.Checked)
                    {
                        intGarage = 5000;
                        intTotal = intBrick + intBasketball + intFire …
Run Code Online (Sandbox Code Playgroud)

c# arrays if-statement

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

如何在LinqPad中自动格式化c#代码?

如何在LinqPad中自动格式化c#代码?

我曾尝试过:Ctrl + E,Ctrl + D格式化整个文档.按Ctrl + E,Ctrl + F格式化选择.

他们都没有工作.

void Main()
{
    var ids = Enumerable.Range(1, 10);
    var ran = new System.Random(10);
    var q = from n in ids           orderby ran.Next() select n;
            q.Dump();
}
Run Code Online (Sandbox Code Playgroud)

c# linqpad

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

'为'System.Windows.Baml2006.TypeConverterMarkupExtension'提供价值,引发了一个异常.行号'49'和行位置'38'

我正在制作我的第一个wpf应用程序,它现在只是实现了一个带有纹理的"地板",从上面看.在运行时我得到这个例外:

在System.Windows.Baml2006.TypeConverterMarkupExtension'上提供了一个异常'.行号'49'和行位置'38'

他们谈论的界限是

<ImageBrush ImageSource="/wood1_1000X1000.jpg" />.
Run Code Online (Sandbox Code Playgroud)

我也试过png扩展.图像的分辨率为1000 x 1000.

c# wpf

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

为什么我的 IE11 F12 开发者工具无法“固定”?

当我使用 IE10 时,一切都很好。但是 IE11、固定按钮和“Ctrl+P”不起作用。我的系统是 Windows 7 Ultimate 64 位 SP1。

internet-explorer ie-developer-tools

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

VS2013代码分析自定义词典不起作用

我正在尝试使用visual studio的代码分析功能.不幸的是(或幸运的是?),我住在加拿大,代码分析抱怨我的拼写"颜色"这个词.我正在尝试使用自定义词典,但VS2013似乎忽略了它.

这是字典相对于项目(和解决方案)的位置:

在此输入图像描述

这是字典文件的内容:

<Dictionary>
  <Words>
    <Unrecognized>
      <Word></Word>
    </Unrecognized>
    <Recognized>
      <Word>colour</Word>
    </Recognized>
    <Deprecated>
      <Term PreferredAlternate=""></Term>
    </Deprecated>
    <Compound>
      <Term CompoundAlternate=""></Term>
    </Compound>
    <DiscreteExceptions>
      <Term></Term>
    </DiscreteExceptions>
  </Words>
  <Acronyms>
    <CasingExceptions>
      <Acronym></Acronym>
    </CasingExceptions>
  </Acronyms>
</Dictionary>
Run Code Online (Sandbox Code Playgroud)

我也尝试剔除自定义词典的内容:

<Dictionary>
  <Words>
    <Recognized>
      <Word>colour</Word>
    </Recognized>
  </Words>
</Dictionary>
Run Code Online (Sandbox Code Playgroud)

有谁知道发生了什么以及如何解决这个问题?

c# code-analysis visual-studio-2013

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

如何根据x86/x64获取不同的输出文件名

我正在使用VS2013 Express.我的项目设置为32位或64位,但我想在构建时获取.exe文件,包含_32或_64,具体取决于我构建的平台.

在项目属性中没有运气.

c# build visual-studio-express post-build-event

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

TSQL OrderBy vs LINQ OrderBy Madness for UniqueIdentifier

经过几个小时试图找出一段代码不同步的原因后,我意识到TSQL OrderBy与Linq OrderBy的字符串差别很大.所以很自然地我必须找到一种方法来确保来自tsql的语句返回与linq相同的顺序,所以我使用了uniqueidentifier(guid)作为我的主要,但是这似乎很糟糕.

这是使用Linq的订单(使用Guid(UniqueID)类型的属性)

var listings = validListings.Select(x => x.TempListing)
                            .OrderBy(x => x.UniqueID)
                            .ToList();
Run Code Online (Sandbox Code Playgroud)

似乎TSQL使用uniqueidentifier的二进制值进行比较,而LINQ使用字符串值,即使该行是GUID

LINQ结果(印刷版)(前几个)

00460400-a41d-465d-83c5-225f697e7bb5
015bef8d-5fa3-4c03-8d05-bfecf74b36b9
0202b433-4748-4660-97a1-94d119209aa6
03f34eb0-45cd-4586-b7d2-6e337b441c43
05e41d20-be24-4f4f-b098-574744dd84f0
0767e5d5-afba-49ab-a047-c9f509c80d3a
08f87ba1-8aa8-48a6-8f98-c3b4c6511b76
0b4157c4-7bdc-4e98-a00c-9259af754844
0bd194d0-fb66-4a69-9718-2128594ff9b0
0cda256a-7632-47de-b867-a2bc46382881
0d36f81a-ca37-446e-a325-87b46ef5b8d3
0d89fd26-4204-4d0a-b187-73a36536a848
0e345ca9-3d5d-43ed-aa75-fbd356f94535
0e767557-87ea-4c31-9f54-75d354a87d0f
0f62fc97-85b0-4611-b3e5-0c5ae4f12a18
1020d776-9810-4122-a9ef-3c527f21970c
Run Code Online (Sandbox Code Playgroud)

TSQL第一个

9C5231CE-01DE-4A20-A4C9-001AD0D28512
3D52B47C-B29C-44A8-99F9-00AA660610A8
FDA7B67D-AEDB-4644-96E4-0147A0EEC29D
C8C7B677-76EB-41D3-B11C-020B9047EB00
487FF542-599B-42D4-BCE3-02C5D569E509
BDAA48DB-60AF-4A36-AFDB-02FA706EE87F
2CD9D59C-C2B5-433C-9FD1-0444F0384BB3
D44695A3-6FEF-4842-BFCB-048C110FA178
28FF051C-38A7-424F-B657-0698452DFE36
D9320EC6-64CD-4C26-8C5C-088C04E22AD7
D9F7FDC1-16D6-4C3A-B117-0908A234DF95
7DB09D09-F10B-4F33-9390-09211F9B2958
D970EE98-B575-4E73-BBAC-0981D6DC1682
9B05CDD9-2D85-486B-BC6B-0BA7E44F6021
539D22ED-FF2A-4376-A650-0BFE184C0E26
0F62FC97-85B0-4611-B3E5-0C5AE4F12A18
5D8EF134-0DC2-4B32-9F02-0C65940C1BCF
Run Code Online (Sandbox Code Playgroud)

如何让它们都返回相同的结果?

c# t-sql linq

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