小编Nik*_*wal的帖子

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

从 sqlDataReader 获取一行的内容作为列表

我有一个SqlDataReader阅读器,我事先不知道数据结构,即列数是未知的。我想把表格放在 csv 文件中。我从中检索列

System.Data.DataTable dt = reader.GetSchemaTable();
Run Code Online (Sandbox Code Playgroud)

所以我把它们放在 dt.Columns() 之后。然后,我想做这样的事情:

while (reader.Read())
{
    writer.WriteLine(string.Join(";",ListWithRowContent))
}
Run Code Online (Sandbox Code Playgroud)

但是,我很难用 linq .Select 之类的东西将一行的内容放入 ListWithRowContent 列表中,但无法查询“reader”对象。
问题:怎么做(请不要循环!)?

c# linq

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

方法必须有返回类型(C#)

所以我一直在用C#跟随这本书.

http://www.robmiles.com/c-yellow-book/Rob%20Miles%20CSharp%20Yellow%20Book%202011.pdf (第81-82页)我从那里获得此代码并添加第82页的另一种方法,结果如下:

using System;      

enum AccountState
{
    New,
    Active,
    UnderAudit,
    Frozen,
    Closed
};

struct Account
{
    public AccountState State;
    public string Name;
    public string Address;
    public int AccountNumber;
    public int Balance;
    public int Overdraft;
};
class Bankprogram
{
    public static void Main()
    {   
        Account RobsAccount;    
        RobsAccount.State = AccountState.Active;    
        RobsAccount.Name = "Rob Miles";    
        RobsAccount.AccountNumber = 1234;    
        RobsAccount.Address = "his home";       
        RobsAccount.Balance = 0;    
        RobsAccount.Overdraft = -1;    
        Console.WriteLine("name is " + RobsAccount.Name);    
        Console.WriteLine("balance is : " + RobsAccount.Balance );      
    }
    public …
Run Code Online (Sandbox Code Playgroud)

c# methods return

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

C#fileName显示空格有问题

假设我有一个名为:

string reportName = "Facebook Network Performance Summary Report (By Region, By Content)";
Run Code Online (Sandbox Code Playgroud)

我想将该文件名显示为excel

以下是我导出文件的代码

Response.AddHeader("Content-Disposition", "attachment; filename=" reportName + ".xls");
Response.AddHeader("Content-Length", l.ToString());
Response.ContentType = "application/vnd.ms-excel";
Response.BinaryWrite(f);
Run Code Online (Sandbox Code Playgroud)

不幸的是,当我阅读reportName的第一个空格时,它只显示Facebook而没有其他内容.

是否有任何用于ASP.NET或其他方法的wexisting API来处理fileNAme的空间?

c# file-io file

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

从C#转换为VB.NET的代码中的奇怪错误

可能重复: VB.NET中的方法组?

在阅读答案时我得到了这段代码:

public static class Helper
{
    public static bool GetAutoScroll(DependencyObject obj)
    {
        return (bool)obj.GetValue(AutoScrollProperty);
    }

    public static void SetAutoScroll(DependencyObject obj, bool value)
    {
        obj.SetValue(AutoScrollProperty, value);
    }

    public static readonly DependencyProperty AutoScrollProperty =
        DependencyProperty.RegisterAttached("AutoScroll", typeof(bool),
        typeof(Helper),
        new PropertyMetadata(false, AutoScrollPropertyChanged));

    private static void AutoScrollPropertyChanged(DependencyObject d,
        DependencyPropertyChangedEventArgs e)
    {
        var scrollViewer = d as ScrollViewer;

        if (scrollViewer != null && (bool)e.NewValue)
        {
            scrollViewer.ScrollToBottom();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

因为我在VB.NET工作,所以我转换它并获得:

Public NotInheritable Class Helper

    Private Sub New()
    End Sub

    Public Shared Function …
Run Code Online (Sandbox Code Playgroud)

c# vb.net dependency-properties

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

C#中的动态控件名称

我正在尝试以下代码:

for (int i = 0; i < students.Length; i++)
{
    "student" + i.ToString().Text = students[i];
}
Run Code Online (Sandbox Code Playgroud)

我已经有很多标签,每个标签都有这样的名字:student1 student2 student3..

但我得到了这个错误:错误1'字符串'不包含'文本'的定义,也没有扩展方法'文本'接受类型'字符串'的第一个参数可以找到(你是否缺少using指令或程序集引用?)F:\ Homework\Homework\Form1.cs 161 46作业

请帮忙吗??!

c#

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

可以强制对象在Gen 1或Gen 2中而不是在Gen 0中进行垃圾回收吗?

一位采访者问我一个奇怪的问题,我无法找到答案.

是否可以强制对象在Gen 1或Gen 2中而不是在Gen 0中进行垃圾回收?

.net c# garbage-collection garbage

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

默认值C#class

嗨伙计们我在控制器中有一个功能,我收到一个表单的信息,实际上我有这个代码:

public Actionresult functionOne(string a, string b, string c = "foo" )
Run Code Online (Sandbox Code Playgroud)

我试着把它转换成类似的类

public class bar
{
    public string a {get;set;}
    public string b {get;set;}
    public string c {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

并将它们作为对象接收

 public Actionresult functionOne(bar b)
Run Code Online (Sandbox Code Playgroud)

此外,我试图将defaultvalue放在'c'但不工作,我试过这个:

public class bar
{
    public string a {get;set;}
    public string b {get;set;}
    [System.ComponentModel.DefaultValue("foo")]
    public string c {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

没有发生任何事情,我收到它 null

我也试过了

public class bar
{
    public string a {get;set;}
    public string b {get;set;}
    public string c 
    {
        get
        {
            return  c;
        }
        set
        { …
Run Code Online (Sandbox Code Playgroud)

c#

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

不使用凭据发送邮件 C#

每个人。我需要使用 C# 发送无回复邮件。网络管理员告诉我,SMTP 服务器配置为发送此类邮件(使用任何没有密码的帐户)。我正在尝试这个:

System.Net.NetworkCredential credencials = new System.Net.NetworkCredential();
credencials.UserName = "mail@domain.com";
MailMessage mail = new MailMessage();
SmtpClient SmtpServer = new SmtpClient();
mail.To.Add(email);
mail.From = new MailAddress("mail@domain.com");
mail.Subject = subject;
mail.IsBodyHtml = true;
mail.Body = message;
SmtpServer.Host = "smtpserver";
SmtpServer.Port = 25;
SmtpServer.Credentials = credencials;
SmtpServer.EnableSsl = true;
SmtpServer.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
SmtpServer.Send(mail);
Run Code Online (Sandbox Code Playgroud)

我尝试过在没有凭据的情况下使用空字符串作为密码,但似乎没有任何效果。

我是否忘记了任何特殊参数或配置?

.net c# email smtp sendmail

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

将string []从批处理文件(其中包含双引号“)传递到powershell脚本

我有一个具有string[]参数的powershell脚本,并尝试从批处理文件中将值传递给它

PowerShell脚本

[string[]]$ScriptArgs
Run Code Online (Sandbox Code Playgroud)

批处理文件

powershell -File Foobar.ps1 -ScriptArgs -versn="""1.0.0.0""",pattern="""FooBar.*"""
Run Code Online (Sandbox Code Playgroud)

(3个引号-用于转义/显示1个引号)

但是无论我做什么Write-Host $ScriptArgs.Count打印1

我希望变量接收2个元素

[0]-versn="1.0.0.0"
[1]-pattern="FooBar.*"


在批处理文件中,我什至尝试单独设置变量

set @sArgs = -versn="""1.0.0.0"""
set @sArgs = %sArgs%;-pattern="""FooBar.*"""
powershell -File Foobar.ps1 -ScriptArgs %sArgs%
Run Code Online (Sandbox Code Playgroud)

但是控制台会以某种方式运行,就像未创建变量一样,并以

powershell -File Foobar.ps1 -ScriptArgs
Run Code Online (Sandbox Code Playgroud)

并引发错误

缺少参数'ScriptArgs'的参数。指定类型的参数,System.String[]然后重试

我应该改变些什么来实现这一目标?

c# powershell cakebuild

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