for (int i = 1; i <= 5; i++) { string propName = "Jhyf_Jhn_Week" + i; var propValue = obj.GetType().GetProperty(propName).GetValue(obj, null); if (propValue != null &&(int)propValue == 0) { obj.GetType().GetProperty(propName).SetValue(obj, null, null); } } C#提示转换无效
时间: 2023-07-16 10:13:19 浏览: 155
这个错误是因为您尝试将null赋值给int类型的属性。在C#中,null不能赋值给值类型(如int),只能赋值给引用类型(如string)。
要解决这个问题,您可以使用Nullable类型。Nullable类型允许您将null赋值给值类型。例如,您可以将int改为int?:
```
for (int i = 1; i <= 5; i++)
{
string propName = "Jhyf_Jhn_Week" + i;
var propValue = obj.GetType().GetProperty(propName).GetValue(obj, null);
if (propValue != null && propValue is int && (int)propValue == 0)
{
obj.GetType().GetProperty(propName).SetValue(obj, null, null);
}
}
```
注意,我还添加了一个条件检查,以确保属性的值是int类型。这是因为如果属性的类型不是int,将会抛出另一个异常。
相关问题
let arr = [{names:1,aee:123},{names:1,aee:15456423},{names:2,aee:4658456}]; let tempObj = {}; let isDuplicate = false; for(let i=0; i<arr.length; i++){ if(tempObj[arr[i].names]){ isDuplicate = true; break; } tempObj[arr[i].names] = true; } if(isDuplicate){ console.log('names属性存在重复'); }else{ console.log('names属性不存在重复'); } 代码优化
可以将数组的遍历和判断是否重复的逻辑封装成一个函数,提高代码的可复用性和可维护性。
以下是示例代码:
```javascript
function isDuplicate(arr, propName){
let tempObj = {};
for(let i=0; i<arr.length; i++){
if(tempObj[arr[i][propName]]){
return true;
}
tempObj[arr[i][propName]] = true;
}
return false;
}
let arr = [{names:1,aee:123},{names:1,aee:15456423},{names:2,aee:4658456}];
if(isDuplicate(arr, 'names')){
console.log('names属性存在重复');
}else{
console.log('names属性不存在重复');
}
```
输出结果为:names属性存在重复
pid_to_propname.py下载ansa
pid_to_propname.py是一个Python脚本,可以用来下载ansa(ANSYS Fluent)软件的相关属性名称文件。这个脚本的作用是通过pid(property ID)来获取相应的属性名称,从而方便用户在使用ansa软件时进行属性的查找和应用。
用户可以通过使用pid_to_propname.py脚本来快速方便地获取ansa软件中的属性名称文件,从而节省了用户手动查找的时间。该脚本的使用方法也非常简单,用户只需要输入pid_to_propname.py命令,然后输入需要查找的pid,即可获取对应的属性名称。
这个脚本对于使用ansa软件的用户来说非常实用,它大大简化了用户在查找属性名称时的操作步骤,提高了工作效率。同时,下载并使用该脚本也可以帮助用户更好地理解和掌握ansa软件的属性设置和应用方法,从而更好地应用于实际工程项目中。
总之,pid_to_propname.py是一个非常有用的工具,可以帮助用户快速获取ansa软件中的属性名称文件,提高工作效率,是值得用户下载和使用的工具。
阅读全文