Tag: c# 3.0

使用genericsC#重载:错误还是function?

我们有一个以下简化示例: void Foo(IEnumerable collection, params T[] items) { // … } void Foo(C collection, T item) where C : ICollection { // … } void Main() { Foo((IEnumerable)new[] { 1 }, 2); } 编译说: 类型’System.Collections.Generic.IEnumerable’不能在generics类型或方法’UserQuery.Foo(C,T)’中用作类型参数’C’。 没有从’System.Collections.Generic.IEnumerable’到’System.Collections.Generic.ICollection’的隐式引用转换。 如果我将Main更改为: void Main() { Foo((IEnumerable)new[] { 1 }, 2); } 它会工作正常。 为什么编译器没有选择正确的重载?

想要从字符串中删除双引号

我在这里看到一些与删除双引号有关的问题。 但它没有解决我的问题。 他们告诉使用Replace或Trimfunction。 我用过,但问题仍然存在。 我的代码: DataTable dt = TypeConveriontHelper.ConvretExcelToDataTable(SourceAppFilePath); string targetPath = BatchFolderPath + @”\” + “TRANSACT.INX”; StreamWriter wrtr = null; wrtr = new StreamWriter(targetPath); for (int x = 0; x < dt.Rows.Count; x++) { string rowString = ""; for (int y = 0; y < dt.Columns.Count; y++) { if (y == dt.Columns.Count – 1) […]

用于访问N(未知)维度矩阵中的所有点的算法

我有一个多维矩阵,可以有任何数量的维度大于一。 寻找可以访问矩阵中每个点的有效算法。 关于代码的一些信息:矩阵具有值访问器(尽管这些并不真正相关)。 object value = matrixInstance.GetValue(int[] point); matrixInstance.SetValue(object value, int[] point); 注意:参数点是索引数组,必须与维度匹配,否则抛出exception。 有关矩阵结构的信息可以通过以下方式获得: int numDims = matrixInstance.Rank; //# dimensions int sizeDim = matrix.getRankSize(int index); // length of specified dimension 我想使用相对有效的算法迭代矩阵的所有可能点。 例如,在2×3 2D矩阵中,将访问以下六个点: [0,0] [0,1] [0,2] [1,0] [1,1] [1,2] 该算法必须达到N维:2,3,4等。 为了提高效率,我最终会使用C#迭代器来返回点数。

无法使用c#在selenium中生成Extent报告(版本3.1.3)

我是C#的新手,我正在尝试使用ExtentReports生成报告(使用版本:3.13)。 任何帮助都将非常感谢谢谢。 我收到以下错误:消息:System.InvalidOperationException:没有记者被启动。 Atleast 1记者必须开始创建测试。 这是我的代码:` using AventStack.ExtentReports; using AventStack.ExtentReports.Reporter; using NUnit.Framework; using NUnit.Framework.Interfaces; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace AutomationReports { class ReportsGenerationClass { protected ExtentReports _extent; protected ExtentTest _test; [OneTimeSetUp] protected void Setup() { var dir = TestContext.CurrentContext.TestDirectory + “\\”; var fileName = this.GetType().ToString() + “.html”; var htmlReporter […]

为什么我得到GridViewUpdateEventArgs#NewValues和GridViewUpdateEventArgs#OldValues为空?

我绑定GridView就像 – namespace grid_edit { public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { SqlConnection con = new SqlConnection(); con.ConnectionString = “Data source=HP_OWNER\\SQLEXPRESS;Database=demo;Integrated security=true”; con.Open(); SqlCommand cmd = new SqlCommand(“select * from demo”, con); cmd.ExecuteNonQuery(); SqlDataAdapter mySqlAdapter = new SqlDataAdapter(cmd); DataSet myDataSet = new DataSet(); mySqlAdapter.Fill(myDataSet); DataTable myDataTable = myDataSet.Tables[0]; […]

使用.NET RegEx在第二个’ – ‘之后检索字符串的一部分

这是我的第一个堆栈消息。 希望你能帮忙。 我有几个字符串,我需要分解以供以后使用。 以下是我的意思的几个例子…. fred-064528-NEEDED frederic-84728957-NEEDED sam-028-NEEDED 正如你在上面看到的那样,字符串长度变化很大,因此我认为正则表达式是实现我想要的唯一方法。 我需要的是第二个连字符后面的其余字符串(’ – ‘)。 我在正则表达式上非常弱,所以任何帮助都会很棒。 提前致谢。

在html中使用c#来执行if语句

我以前在Stackoverflow上看到过涉及使用’c#construct’在asp.net页面的html中执行’if’语句的答案。 所以想象一下,如果选项1为空,我想显示Eval(“option1”),如果它不为空或者Eval(“option2”)。 我该怎么做呢??? 希望有道理…… 非常感谢!!!!

在命令行上针对.vdproj运行devenv不会产生MSI

我想在命令提示符下使用devenv命令从.vdproj文件生成MSI文件。 此命令运行良好但不生成任何MSI文件。 怎么了? 我应该在环境变量中设置什么,还是有其他方法从.vdproj文件生成MSI?

为什么我会收到序列化错误?

我有以下代码: class Program { static void Main(string[] args) { string xml = @” Proposals LastGroup Visible WidgetsVisibility “; List settings = GetObjFromXmlDocument<List>(xml); } public static T GetObjFromXmlDocument(string xml) { T customType; XmlSerializer serializer = new XmlSerializer(typeof(T)); XmlDocument xmlDocument = new XmlDocument(); xmlDocument.LoadXml(xml); using (XmlNodeReader xmlNodeReader = new XmlNodeReader(xmlDocument)) { customType = (T)serializer.Deserialize(xmlNodeReader); } return customType; […]

使用C#删除换行符

我从名为’Description’的数据库字段中获取一个字符串,它有换行符。 它看起来像这样: 物品标题 描述在这里。这是项目的描述。 如何删除换行符。 我尝试了以下function,但它无法正常工作: public string FormatComments(string comments) { string result = comments.Replace(@”\r\n\”, “”); result = result.Replace(” “, “”); return result; } 请建议解决方案。 此致,Asif Hameed