基本上,我正在使用結合 C# 的 Revit API(土木工程 3D 建模程式)。
在這種情況下,我需要使用元素名稱填充 WPF 串列框。為此,我使用 LINQ:
beamTypes = new FilteredElementCollector(doc)
.OfCategory(BuiltInCategory.OST_StructuralFraming)
.OfClass(typeof(FamilyInstance))
.Select(x => x.get_Parameter(BuiltInParameter.ALL_MODEL_MARK) as Parameter).AsString())
.Distinct();
如果每個元素都有一個 MARK,它會像一個魅力,這是我的客戶工程師使用的自定義名稱。然而,并不是每個元素都有一個已定義的 MARK,如果沒有,我想選擇 Element.Name。
會是這樣的:
.Select(x => (x.get_Parameter(BuiltInParameter.ALL_MODEL_MARK) as Parameter).AsString().Equals("") ? x.Name : (x.get_Parameter(BuiltInParameter.ALL_MODEL_MARK) as Parameter).AsString())
如何正確使用 LINQ .Select 中的三元組?
uj5u.com熱心網友回復:
聽起來這應該適合你
.Select(x => {
if (x.get_Parameter(BuiltInParameter.ALL_MODEL_MARK) is Parameter _param)
return _param.AsString();
return x.Name;
})
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/422284.html
標籤:
下一篇:跳到字串并拿走其他物品
