ResistorHelper.cs
(开头部分) 2KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Text;
using System.Text.RegularExpressions;
namespace ResisiorTutorial
{
internal class ResistorHelper
{
private static readonly List<Color> avalibleColors = new List<Color>
{
Color.Black,
Color.Brown,
Color.Red,
Color.Orange,
Color.Yellow,
Color.Green,
Color.Blue,
Color.Purple,
Color.Gray,
Color.White
};
public static long GetValueFromColor(Color[] colors)
{
if (colors.Length < 4 || colors.Length > 6)
throw new ArgumentException("色环数不正确!");
long value = 0;
for (int i = 0; i < colors.Length - 2; i++)
{
if (avalibleColors.Contains(colors[i]))
value = value * 10 + avalibleColors.IndexOf(colors[i]);
}
value *= (long)Math.Pow(10, avalibleColors.IndexOf(colors[colors.Length - 1]));
return value;
}
public static Color[] GetColorFromValue(long value, bool fiveBands)
{
List<Color> color = new List<Color>();
string realVal = "000";
int power = 0;
while (value > (fiveBands ? 999 : 99))
{
value /= 10;
power++;
}
if (power > 9)
throw new ArgumentException("输入的值对于" + (fiveBands ? "五" : "四") + "色环电阻过大!");
realVal = value.ToString().Replace(".", "").Substring(0, fiveBands ? 3 : 2);
foreach (char c in realVal)
color.Add(avalibleColors[int.Parse(c.ToString())]);
color.Add(avalibleColors[power]);
return color.ToArray();
}
//"4.7K" -> 4700
public static long ExpressToValue(string express)
{
后面还有 28 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。