mirror of https://github.com/quasar/Quasar.git
Detecting illegal characters efficiently
Instead of wasting lots of time creating a string from a char array, creating a string from another char array, concatenating them both into a new string, and casting the keychar to a string to see if the string contains it, make the operation natural and very efficient by creating a new char array that has both invalid characters and making sure the illegal character array does not contain the element.
This commit is contained in:
parent
f5d671d93a
commit
94e50641cb
|
@ -1,5 +1,6 @@
|
|||
using System;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Windows.Forms;
|
||||
using xServer.Core.Build;
|
||||
|
@ -20,8 +21,7 @@ public FrmBuilder()
|
|||
|
||||
private void HasChanged()
|
||||
{
|
||||
if (_loadedProfile && !_changed)
|
||||
_changed = true;
|
||||
_changed = (_loadedProfile && !_changed);
|
||||
}
|
||||
|
||||
private void UpdateControlStates()
|
||||
|
@ -137,22 +137,21 @@ private void txtPort_KeyPress(object sender, KeyPressEventArgs e)
|
|||
|
||||
private void txtDelay_KeyPress(object sender, KeyPressEventArgs e)
|
||||
{
|
||||
if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar))
|
||||
e.Handled = true;
|
||||
e.Handled = (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar));
|
||||
}
|
||||
|
||||
private void txtInstallname_KeyPress(object sender, KeyPressEventArgs e)
|
||||
{
|
||||
string illegal = new string(Path.GetInvalidPathChars()) + new string(Path.GetInvalidFileNameChars());
|
||||
if ((e.KeyChar == '\\' || illegal.Contains(e.KeyChar.ToString())) && !char.IsControl(e.KeyChar))
|
||||
e.Handled = true;
|
||||
char[] illegal = Path.GetInvalidPathChars().Union(Path.GetInvalidFileNameChars()).ToArray();
|
||||
|
||||
e.Handled = ((e.KeyChar == '\\' || illegal.Any(illegalChar => (illegalChar == e.KeyChar))) && !char.IsControl(e.KeyChar));
|
||||
}
|
||||
|
||||
private void txtInstallsub_KeyPress(object sender, KeyPressEventArgs e)
|
||||
{
|
||||
string illegal = new string(Path.GetInvalidPathChars()) + new string(Path.GetInvalidFileNameChars());
|
||||
if ((e.KeyChar == '\\' || illegal.Contains(e.KeyChar.ToString())) && !char.IsControl(e.KeyChar))
|
||||
e.Handled = true;
|
||||
char[] illegal = Path.GetInvalidPathChars().Union(Path.GetInvalidFileNameChars()).ToArray();
|
||||
|
||||
e.Handled = ((e.KeyChar == '\\' || illegal.Any(illegalChar => (illegalChar == e.KeyChar))) && !char.IsControl(e.KeyChar));
|
||||
}
|
||||
|
||||
private void txtInstallname_TextChanged(object sender, EventArgs e)
|
||||
|
|
Loading…
Reference in New Issue