本文整理汇总了C#中ArrayList.OfType方法的典型用法代码示例。如果您正苦于以下问题:C# ArrayList.OfType方法的具体用法?C# ArrayList.OfType怎么用?C# ArrayList.OfType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ArrayList
的用法示例。
在下文中一共展示了ArrayList.OfType方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: FilteringDataUsingOfType
static void FilteringDataUsingOfType()
{
Console.WriteLine("***** LINQ Filtering Data using OfType *****");
ArrayList myStuff = new ArrayList(); // non-generic holds objects
myStuff.AddRange(new object[] {10, 400, 8, false, new Car(), "string data"});
// now filter out the numeric data
var myInts = myStuff.OfType<int>();
foreach (var i in myInts) {
Console.WriteLine("Int value: {0}", i);
}
}
示例2: setHueCircleColors
private void setHueCircleColors()
{
CPUBuffers.Get.IngredientGroupsColor.Clear();
CPUBuffers.Get.IngredientGroupsLerpFactors.Clear();
CPUBuffers.Get.IngredientGroupsColorValues.Clear();
CPUBuffers.Get.IngredientGroupsColorRanges.Clear();
CPUBuffers.Get.ProteinIngredientsRandomValues.Clear();
CPUBuffers.Get.ProteinIngredientsChainColors.Clear();
CPUBuffers.Get.IngredientsColors.Clear();
int[] numMembersIngredientGroups = new int[SceneManager.Get.IngredientGroups.Count];
ArrayList numMembersIngredients = new ArrayList();
for (int i = 0; i< SceneManager.Get.IngredientGroups.Count; i++)
{
numMembersIngredientGroups[i] = SceneManager.Get.IngredientGroups[i].Ingredients.Count;
for (int j = 0; j< SceneManager.Get.IngredientGroups[i].Ingredients.Count; j++)
{
numMembersIngredients.Add(SceneManager.Get.IngredientGroups[i].Ingredients[j].nbChains);
}
}
float[] anglefractions;
float[] angleCentroids;
float[] ingredientsAnglefractions;
float[] ingredientsAngleCentroids;
float startangle = 0;
float endangle = 360;
getFractionsAndCentroid(numMembersIngredientGroups, startangle, endangle, out anglefractions, out angleCentroids);
getFractionsAndCentroid(numMembersIngredients.OfType<int>().ToArray(), startangle, endangle, out ingredientsAnglefractions, out ingredientsAngleCentroids);
for (int i = 0; i< SceneManager.Get.IngredientGroups.Count; i++)
{
Debug.Log("anglecentroid i " + i + " " + angleCentroids[i]);
Debug.Log("anglefractions i "+ i + " " + anglefractions[i]);
CPUBuffers.Get.IngredientGroupsColor.Add(new Color(angleCentroids[i]/360f, 60f/100f,70f/100f));
var group = SceneManager.Get.IngredientGroups[i];
var offsetInc = 1.0f / group.Ingredients.Count;
for (int j = 0; j<group.Ingredients.Count; j++)
{
Debug.Log("j loop i " + i);
Debug.Log("loop anglecentroid i " + i + " " + angleCentroids[i]);
CPUBuffers.Get.IngredientsColors.Add(new Vector4(angleCentroids[i] + anglefractions[i] * (j * offsetInc - 0.5f),60, 70));
CPUBuffers.Get.IngredientGroupsLerpFactors.Add(0);
CPUBuffers.Get.IngredientGroupsColorValues.Add(new Vector4(angleCentroids[i], 60, 90));// 15 + Random.value * 85));
CPUBuffers.Get.IngredientGroupsColorRanges.Add(new Vector4(anglefractions[i], 0, 0));
CPUBuffers.Get.ProteinIngredientsRandomValues.Add(new Vector4(j * offsetInc, 0, 0));
var ingredient = group.Ingredients[j];
var chainOffset = 1.0f / ingredient.nbChains;
for (int k = 0; k< ingredient.nbChains; k++)
{
float currentHue = ingredientsAngleCentroids[j] + (k * chainOffset - 0.5f)*ingredientsAnglefractions[j];
float currentChroma = 60f;
float currentLuminance = 60f;
CPUBuffers.Get.ProteinIngredientsChainColors.Add(new Vector4(Random.value * 360, currentChroma, 50 + Random.value * 20));
}
}
}
}