如果我有以下nvarchar变量 - BTA200,我怎样才能从中提取BTA?
另外,如果我有不同的长度,如BTA50,BTA030,我怎样才能提取数字部分?
我刚刚问了一个关于使用正则表达式允许数字介于-90.0和+90.0之间的问题.我得到了一些关于如何实现正则表达式的答案,但大多数答案还提到,如果不使用正则表达式或使用正则表达式会更好地处理它会有点过分.那么如何决定何时使用正则表达式以及何时不使用正则表达式.是否有可以遵循的检查清单?
VB.NET有类和模块,所以我的第一个问题是有什么区别?另外,我注意到C#没有模块,只是类,是否有代替模块的东西或是否为C#删除了它们?
我有一个动态查询,返回大约590,000条记录.它第一次成功运行,但是如果我再次运行它,我会继续运行System.OutOfMemoryException.这可能发生的原因是什么?
错误发生在这里:
public static DataSet GetDataSet(string databaseName,string
storedProcedureName,params object[] parameters)
{
//Creates blank dataset
DataSet ds = null;
try
{
//Creates database
Database db = DatabaseFactory.CreateDatabase(databaseName);
//Creates command to execute
DbCommand dbCommand = db.GetStoredProcCommand(storedProcedureName);
dbCommand.CommandTimeout = COMMAND_TIMEOUT;
//Returns the list of SQL parameters associated with that stored proecdure
db.DiscoverParameters(dbCommand);
int i = 1;
//Loop through the list of parameters and set the values
foreach (object parameter in parameters)
{
dbCommand.Parameters[i++].Value = parameter;
}
//Retrieve dataset and set to …Run Code Online (Sandbox Code Playgroud) 我尝试调用一个名为Register的WebInvoke方法,该方法返回一个User对象并立即返回该对象.它看起来如下:
User Register(User user)
{
return user;
}
Run Code Online (Sandbox Code Playgroud)
我不确定在调用http:// localhost:8081/user/register时,Name和Namespace属性对DataContract属性的作用是什么?
我问的原因是因为我最初使用DataContract属性装饰了我的类,如下所示:
[DataContract]
public class User
{
// Properties
}
Run Code Online (Sandbox Code Playgroud)
当我打开Fiddler并发送一个Post请求时,它说方法不允许,但当我将DataContract更改为:
[DataContract(Name="User", Namespace="")]
Run Code Online (Sandbox Code Playgroud)
有效.
在某些情况下,我在我的类顶部声明成员变量,然后声明一个属性来访问或设置该成员变量,但我问自己,如果该变量只是从内部进行访问和设置,那么该属性是否必要这个类而不是其他,所以使用属性访问和设置成员变量的优点是什么,而不是直接对成员变量本身进行操作.这是一个例子:
public class Car
{
int speed; //Is this sufficient enough if Car will only set and get it.
public Car(int initialSpeed)
{
speed = initialSpeed;
}
//Is this actually necessary, is it only for setting and getting the member
//variable or does it add some benefit to it, such as caching and if so,
//how does caching work with properties.
public int Speed
{
get{return speed;}
set{speed = value;}
}
//Which is better?
public void MultiplySpeed(int multiply)
{
speed …Run Code Online (Sandbox Code Playgroud) 我有以下查询:
drivers.Select(d => { d.id = 0; d.updated = DateTime.Now; return d; }).ToList();
Run Code Online (Sandbox Code Playgroud)
drivers是一个List,它带有不同的id和更新的值,因此我在更改Select中的值,但这是正确的方法.我已经知道我没有给司机重新分配司机,因为Resharper抱怨它,所以我想如果是这样会更好:
drivers = drivers.Select(d => { d.id = 0; d.updated = DateTime.Now; return d; }).ToList();
Run Code Online (Sandbox Code Playgroud)
但这仍然是某人应该为驱动程序列表中的每个元素分配新值的方式吗?
例如,为什么要在LINQ中执行此操作
var products = from p in Products
select p.Name;
Run Code Online (Sandbox Code Playgroud)
什么时候他们可以做到这一点:
var products = select p.Name from Products p;
Run Code Online (Sandbox Code Playgroud)
第二个是否在linq中提供了一些限制?也许上面的例子太简单了,实际上看不出为什么linq是按一个顺序编写而sql是用另一个编写的.
我正在设置由Linq 2 Sql生成的类的地址,当我尝试SubmitChanges()时,它生成的sql查询是:
Update Users
Set Address = @po
Where 0 = 1
--@po: Input VarChar (Size = 15; Prec = 0; Scale = 0) [123 45th Street]
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚为什么我得到的地方0 = 1.
如何获取值123456789012345或1234567890123456将其转换为:
************2345 和 ************3456
上面的字符串之间的区别是一个包含15位数,另一个包含16位数.
我已经尝试了以下内容,但它没有保留15位数的最后4位数,现在重要的是字符串的长度,无论是13,14,15还是16,我想用a掩盖所有起始数字*,但保留最后4.这是我尝试过的:
String.Format("{0}{1}", "************", str.Substring(11, str.Length - 12))
Run Code Online (Sandbox Code Playgroud)