SqlParameter[] _parameters = {
new SqlParameter( "@IDNumber", Person.IDNumber ),
new SqlParameter( "@Name", Person.Name ),
new SqlParameter( "@Surname", Person.Surname )
};如何在不使用索引的情况下从对象数组中获取"Name“值?我想做的是,
oPerson.Name = _parameters.Find(@Name).Value;发布于 2014-03-19 12:22:39
使用以下方法:
_parameters.Single(p => p.ParameterName == "@Name").Value;这假设存在一个和唯一一个具有给定SqlParameter的ParameterName实例。如果不确定是否存在,请执行以下操作:
var param = _parameters.SingleOrDefault(p => p.ParameterName == "@Name");
if (param != null) { oPerson.Name = param.Value; }发布于 2014-03-19 12:23:38
使用Linq,很容易
string pName = "@Name";
var p = _parameters.FirstOrDefault(x => x.ParameterName == pName);
if(p != null)
oPerson.Name = p.Value.ToString();我假设您需要这段代码,因为您不确定参数的存在与否。因此,如果您的参数在集合中不存在,使用FirstOrDefault允许测试结果,而无需直接使用Value属性。
发布于 2014-03-19 12:22:01
您可以使用First方法并通过它的Name获取参数。
oPerson.Name = _parameters.First(x => x.ParameterName == "@Name").Value;https://stackoverflow.com/questions/22505615
复制相似问题