最近看“设计模式”,有人说:容易克隆的类才方便用 Prototype-原型模式,请问怎样才叫容易克隆?
更新时间:2023-04-18 16:04
最满意答案
Imports System.Text.RegularExpressions Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim a As String = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" Dim g() As Char = a.ToCharArray Dim MyRandom As New Random Dim bs As String = "" For i = 1 To 20 bs &= g(MyRandom.Next(0, g.GetUpperBound(0) + 1)) Next Dim gs() As String = (From mt As Match In Regex.Matches(bs, "[A-Z]") Select mt.Value).ToArray System.Array.Sort(gs) gs = (From mt As Match In Regex.Matches(Join(gs, ""), "([A-Z])\1*") Select mt.Value).ToArray Dim g_len() As Integer g_len = (From mt As Match In Regex.Matches(Join(gs, ""), "([A-Z])\1*") Select mt.Length).ToArray ' 使用数组元素作为计数器g_len System.Array.Sort(g_len, gs) Label1.Text = "出现次数最多的字母:" & gs(gs.GetUpperBound(0)).Substring(0, 1) & " 共出现" & g_len(g_len.GetUpperBound(0)) & "次" & vbCrLf & "没有出现的字母是:" & Join(a.Split(bs.ToCharArray), "") End Sub End Class
其他回答
static dictionary<char, int> test4()
{
dictionary<char, int> dicresult = new dictionary<char, int>();
random random = new random();
for (int i = 0; i < 20; i++)
{
char temprandom = (char)random.next(65, 91);
if (dicresult.containskey(temprandom))
{
dicresult[temprandom]++;
}
else
{
dicresult.add(temprandom, 1);
}
}
return dicresult;
}
最后返回的dic里面保存的是key(出现的大写字母),value(出现的大写字母的次数),剩下你需要做的工作就是遍历这个dic,找出value最大的那些key和value即可。
相关问答
更多-
Imports System.Text.RegularExpressions Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim a As String = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" Dim g() As Char = a.ToCharArray Dim MyRandom As ...
-
用vb.net让字母升序排列[2023-05-10]
两个数组,一个用来存放排序前的字母,一个用来存放排序后的字母,一个变量,遍历排序前的数组,将最小的字母付给变量,再把这个最小的字母赋值为Z,排序后的数组添加这个变量,循环N次,N为字母个数 -
VB.net中如何求出2维数组,每个维度上的值得个数[2021-12-07]
每行的数字个数不同,你说的这是不规则数组,解决方案如下: Dim b As String = "" Dim a As Integer()() = New Integer(9)() {} a(0) = New Integer() {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} a(1) = New Integer() {0, 3, 4, 5} a(2) = New Integer() {0, 4, 5, 6, 7} a(3) = New Integer() {0, 6, 5, 8, 9, 1} ... -
我能找到的文件说: 此方法使用当前的文化进行单词(区分大小写和文化敏感)比较。 所以,它和Java的.compareTo() ,默认情况下使用Unicode代码点进行字典对比,就像你说的那样。 因此,在.NET中,它取决于你当前的“文化”(我猜,Java会称之为“语言环境”)。 看起来,如果你想在.NET中进行字符串比较“àla Java”,你必须使用String.CompareOrdinal() 。 相反,如果您想在Java中执行依赖于语言环境的字符串比较,则需要使用Collator 。 最后,MSDN上 ...
-
通过阅读inputmask jquery插件文档 ,有两件事情迫使文本输入内容为小写。 pastedValue = pastedValue.toLowerCase(); 将任何复制粘贴的文本更改为小写。 casing: "lower"将任何类型化的文本更改为小写。 删除这两行,我们留下了下面的内容,它适用于你的jsfiddle。 $(document).ready(function(){ //email mask $("#u_email").inputmask({ m ...
-
VB.Net中的While循环对迭代次数没有固有的限制。 它将执行与代码所说的完全相同的次数。 例如,以下循环将不会退出 While True Console.WriteLine("hello") End While The While loop in VB.Net has no inherent limitation on number of iterations. It will execute exactly as many times as your code says it should. ...
-
我认为这个正则表达式应该起作用/([AZ ]*)([^AZ]*)/ 它根据rubular.com对那些数据进行了分割 I think this regular expression should work /([A-Z ]*)([^A-Z]*)/ It makes those splits on that data according to rubular.com
-
计算NSString中大写字母和数字的出现次数(Counting occurrences of capital letters and numbers in an NSString)[2023-06-21]
您可以使用NSCharacterSet : NSString *password = @"aas2dASDasd1asdASDasdas32D"; int occurrenceCapital = 0; int occurenceNumbers = 0; for (int i = 0; i < [password length]; i++) { if([[NSCharacterSet uppercaseLetterCharacterSet] characterIsMember:[password ... -
VB.NET内存管理(VB.NET Memory Management)[2022-04-22]
首先,您需要认识到,任务管理器正在向您显示操作系统分配给您的应用程序的内存量。 这不一定是实际使用的内存量。 当.NET应用程序第一次启动时,操作系统为它分配内存,就像它为任何进程分配内存一样。 .NET运行时会进一步划分该内存并管理它的使用方式。 运行时可以被认为是“贪婪的”,因为操作系统一旦分配了内存,除非操作系统明确要求,否则它不会返还。 结果是任务管理器中的内存使用量不准确。 要获得内存使用情况的真实图片,您需要使用性能监视器并添加适当的计数器。 至于IDisposable和dispose模式,由于 ... -
RosEx的DevExpress CodeRush (Visual Studio 2015+) DevExpress CodeRush for Roslyn (Visual Studio 2015+)