using System; using System.Linq; namespace ZigBee.Droid.Common { public class OwnCodes { #region set/get [Newtonsoft.Json.JsonIgnore] /// /// 开光状态:0=关,1=开, /// 0: /// public int OnOffStatus { get { //if (DeviceStatusReport != null && DeviceStatusReport.CluterID == 6) //{ // var attriButeList = DeviceStatusReport.AttriBute; // foreach (var attriBute1 in attriButeList) // { // return attriBute1.AttriButeData; // } //} return 0; } set { //if (DeviceStatusReport != null && DeviceStatusReport.CluterID == 6) //{ // var attriButeList = DeviceStatusReport.AttriBute; // foreach (var attriBute1 in attriButeList) // { // attriBute1.AttriButeData = value; // } //} } } #endregion #region json格式,发数据中列表有数组的情况 //public static void hdlButtonSetBind(ZigBee.Device.ZbGateway gateway, ZigBee.Device.HDLbutton.BindListDeviceInfo bindListObj, string buttonMacAddr, int epoint, int buttonMode, int buttonType) //{ // var jobject = new JObject { { "DeviceAddr", buttonMacAddr }, { "Epoint", epoint }, { "Cluster_ID", 64528 }, { "Command", 6 } }; // var bindList = new JArray{ // new JObject {{ "BindType", bindListObj.BindType},{ "BindMacAddr", bindListObj.BindMacAddr},{ "BindEpoint", bindListObj.BindEpoint }} // }; // var data = new JObject { { "ButtonEpoint", epoint }, // { "ButtonMode", buttonMode },{ "ButtonType", buttonType }, // { "BindList", bindList } // }; // jobject.Add("Data", data); // gateway.Send(("hdlButton/SetBind"), Common.SecuritySet.Encryption((jobject.ToString()))); //} #endregion #region Int 与byte的运算 // (1) //int count = 5; //int homeId = 112; // byte[] byteHomeId = new byte[4]; //for (int i = 0; i < byteHomeId.Length; i++) //{ // byteHomeId[i] = (byte)((homeId >> (i * 8)) & 0xFF); //} //byteHomeId[0] = (byte)((homeId >> 24) & 0xff);//H //byteHomeId[1] = (byte)((homeId >> 16) & 0xff); //byteHomeId[2] = (byte)((homeId >> 8) & 0xff); //byteHomeId[3] = (byte)(homeId & 0xff);//L //(2)、 // int homeID = (bytes[7] & 0xff) << 24 | (bytes[8] & 0xff) << 16 | (bytes[9] & 0xff) << 8 | (bytes[10] & 0xff); #endregion #region 进度显示 //Application.RunOnMainThread(() => //{ // int pro = (int)(index * 1.0 / backuplist.Count * 100); // MainPage.Loading.Text = pro.ToString() + "%"; //}; #endregion /// /// 方式一:使用lambda表达式筛选过滤掉数组中空字符串 /// /// static void FilterOutEmptyStrings1() { string[] strArray = { "", "111", "", "222", "", "333" }; Console.WriteLine("输出带有空字符串的数组:"); foreach (string str in strArray) { Console.WriteLine(str); } Console.WriteLine("-------------------------------------------"); //使用lambda表达式过滤掉空字符串 strArray = strArray.Where(s => !string.IsNullOrEmpty(s)).ToArray(); Console.WriteLine("输出过滤掉空字符串的数组:"); foreach (string str in strArray) { Console.WriteLine(str); } Console.Read(); } /// /// 方式二:使用泛型集合List的ForEach循环,过滤获取正确的字符串,重新添加到新字符串数组中 /// /// public void FilterOutEmptyStrings2() { string[] strArray = { "", "111", "", "222", "", "333" }; /* *使用List泛型集合的ForEach方法循环获取非空空字符串 *这里使用了匿名方法 */ var list = new System.Collections.Generic.List(); strArray.ToList().ForEach( (s) => { if (string.IsNullOrEmpty(s)) { list.Add(s); } }); foreach (string str in strArray) { Console.WriteLine(str); } Console.Read(); } /// /// 使用传统循环方式来排除和删除字符串数组中的空字符串 /// public void FilterOutEmptyStrings3() { string[] strArray = { "", "111", "", "222", "", "333" }; Console.WriteLine("输出带有空字符串的数组:"); foreach (string str in strArray) { Console.WriteLine(str); } Console.WriteLine("-------------------------------------------"); //使用循环排除和过滤掉空字符串 var list = new System.Collections.Generic.List(); foreach (string s in strArray) { if (!string.IsNullOrEmpty(s)) { list.Add(s); } } strArray = list.ToArray(); Console.WriteLine("输出过滤掉空字符串的数组:"); foreach (string str in strArray) { Console.WriteLine(str); } Console.Read(); } #region &GPS位置变化事件 /// 
 /// GPS位置变化事件
 /// //public static Action LocationAction; //LocationAction = (arg1, arg2) => { // LocationAction = null; // System.Threading.Tasks.Task.Run(() => { // while (true) { // try { // Shared.SimpleControl.CommonPage.AirQuality = new service.hdlcontrol.com_WebServiceAirQuality.WebServiceAirQuality().GetAirQuality(arg2.ToString (), arg1.ToString ()); // if (Shared.SimpleControl.CommonPage.AirQuality != null) // break; // } catch { } // } // Shared.Application.RunOnMainThread(() => { // if (CommonPage.RefreshAir != null) // CommonPage.RefreshAir(); // } ); // } ); //} ; #endregion #region 电话号码写法 // EditText etPhoneNumber = new EditText() // { // X = btnPhoneZone.Right + Application.GetRealWidth(10), // Width = Application.GetRealWidth(410), // TextAlignment = TextAlignment.Center, // }; // phoneNumView.AddChidren(etPhoneNumber); //etPhoneNumber.TextChangeEventHandler += (sender, e) => { // if (e.Length > 11) // { // etPhoneNumber.Text = e.Remove(11); // } // else if (e.Length == 11) // { // var reg = new Regex("^[1]+[3,5,7,8]+\\d{9}"); // var mFalg = reg.Match(etPhoneNumber.Text.Trim()); // if (mFalg.Success) // { // btnNext.IsSelected = btnNext.Enable = true; // } // else // { // new Tip() { CloseTime = 3, Text = "号码错误", Direction = AMPopTipDirection.Down } .Show(etPhoneNumber); // } // } // else if (e.Length< 11) // { // btnNext.IsSelected = btnNext.Enable = false; // } //} ; #endregion #region 进度显示 #endregion } }