bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

vb.net類的定義 vb 定義類

在VB.NET中,什么是類?什么是對象?它們之間的關系是什么?

人類是一個類,你是人,我是人,都是人類的實例(instance),或稱對象(object)。一個類描述一類事物,描述這些事物所應具有的屬性,如人有身長、體重、文化程度、性別、年齡、民族等。

創新互聯長期為成百上千家客戶提供的網站建設服務,團隊從業經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯網生態環境。為大連企業提供專業的成都網站設計、成都網站建設,大連網站改版等技術服務。擁有10年豐富建站經驗和眾多成功案例,為您定制開發。

一個對象是類的一個實例,它具有確定的屬性,如張三(人的實例)身高180,體重70公斤,大學本科,男,21歲,漢族。

人類只有一個,人類的實例可以有無數個。

對象可以被創建和銷毀,但類是無所不在的。

例如,桌子是一個類, 人們不斷打造各種尺寸和風格(屬性)的桌子(桌子的實例),打造桌子, 又不斷毀壞桌子,年復一年,舊的去了,新的又來,但桌子的概念沒變,它是一個抽象的概念。應該稱它為桌子類,以區別于打造的具體桌子。

在vb.net中怎么調用自定義類?

代碼已測試。

一、測試需要的INI文件。名稱為“setinfo.ini”,存放路徑為你解決方案里“Bin“文件夾的”Debug“文件夾里。

內容:

[Location]

pnlTime.Location.X=787

pnlTime.Location.Y=0

[TopMost]

Top=True

二、操作INI文件的類。新建一個類,類中內容為:

Public?Class?Class1

Public?Declare?Function?GetPrivateProfileString?Lib?"kernel32"?Alias?"GetPrivateProfileStringA"?_

(?_

ByVal?lpApplicationName?As?String,?_

ByVal?lpKeyName?As?String,?_

ByVal?lpDefault?As?String,?_

ByVal?lpReturnedString?As?String,?_

ByVal?nSize?As?Int32,?_

ByVal?lpFileName?As?String?_

)?As?Int32

End?Class

三、界面代碼:

Imports?System.IO?'for?path

Public?Class?Form1

Private?Sub?Button1_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Button1.Click

getINI()

End?Sub

Private?Sub?getINI()

Dim?iniclass?As?New?Class1?'

Dim?myBf?As?String?'get?set_info?開辟存儲的內存

myBf?=?New?String(CChar(""),?256)

Dim?myFN?As?String?'配置文件的文件路徑

myFN?=?Path.Combine(My.Application.Info.DirectoryPath,?"setinfo.ini")

Dim?myAN?As?String?'Application_NAME,也是Section名稱

myAN?=?Me.TextBox1.Text

Dim?myKN?As?String?'KEY_NAME,關鍵字名稱

myKN?=?Me.TextBox2.Text

Class1.GetPrivateProfileString(myAN,?myKN,?"",?myBf,?myBf.Length,?myFN)?'調用讀取INI文件的操作

TextBox3.Text?=?Microsoft.VisualBasic.Left(myBf,?InStr(myBf,?Chr(0))?-?1)?'截取有用部分,有必要

End?Sub

End?Class

四、測試截圖如下

vb.net 定義變量 ,類型,對象問題?

dim本身就表示定義某一個類型的變量的。這個類型,包括簡單的預定義類型,也包括自定義類型,比如類,數組等等所有類型,只要在一個項目中可見的類型都可以定義。

使用new當然就是定義的時候實例化

這個類型,這時變量已有具體的內存對應。

類,類似于C里的結構體,但是可以做到繼承、抽像等面向對象的特性。結構體和類都需要new來實例化。

你可以看一下面向對象編程方面的知識。

vb.net 怎樣實現自定義類型啊

Class WorkerType

Dim No As Integer

Dim Name As String

Dim Pay As Single

End Class

vb和vb.net的區別

VB.NET和VB6.0有什么區別

Visual Basic .NET是Microsoft Visual Studio .NET套件中主要組成部分之一。.NET版本的Visual Basic增加了更多特性,而且演化為完全面向對象(就像C++)的編程語言。本文將介紹VB.NET的新特性,并比較VB6.0/VB.NET之間的區別,闡述如何利用VB.NET編寫簡單的應用程序。

1.1 什么是 VB.NET? Microsoft推出全新的編程和操作系統Framework——.NET,支持多種語言利用公共.NET庫開發應用程序,這些應用程序在.NET Framework上運行。使用Visual Basic在.NET Framework上編程,這就是VB.NET。

首先,讓我演示在VB.NET中寫最簡單的控制臺程序:Hello World。

1.2 Hello, World!“Hello World!”是初學者學習Windows編程的代表性程序。我們的第一個程序就叫做“Hello VB.NET World!”。該程序在控制臺輸出一句話:“Hello VB.NET World!”,代碼如下所示:

代碼 1.1: Hello VB.NET World例子Imports System

Module Module1

Sub Main()

System.Console.WriteLine("Hello VB.NET World!")

End Sub

End Module

1.3 VB.NET 編輯器和編譯器你可以在記事本或VS.NET IDE等任意文本編輯器中撰寫上述代碼,然后保存為HelloWorld.vb。 代碼編寫完成之后,要么在命令行、要么在VS.NET IDE中編譯它。在Microsoft .NET Framework SDK中已經包括VB.NET編譯器vbc.exe[][1],從IDE或是命令行都可以調用。要從命令行編譯HelloWorld.vb,請在命令行窗口輸入

vbc HelloWorld.vb /out:HelloWorld.exe /t:exe

編譯結束后,HelloWorld.exe被創建到當前目錄下。在資源管理其中雙擊圖標或在命令行執行,程序正確地運行了。祝賀你進入VB.NET開發者的行列。

Imports 語句

如你所知,大部分的.NET類型都在名字空間(namespace)中定義。Namespace是定義和管理類別的范疇。察看.NET Framework Class Library,可以看到數以百計的namespace。例如,System namespace就包括了Console、Object等類型定義。如果想使用Console類,需要用Imports指令導入System namespace。如下所示:

Imports System甚至可以明確地調用namespace而無需用Import導入。下面的例子展示了不用Import的“Hello World!”程序:

代碼1.2: Hello VB.NET World例子Module Module1

Sub Main()

System.Console.WriteLine("Hello VB.NET World!")

End SubEnd Module1.4 解析 "Hello VB.NET World!"程序第一行是:

Imports System; System namespace定義了Console類,該類用于讀寫控制臺(命令行窗口)。然后你定義了一個module:Module Module1

…End Module所有的VB程序都包括一個Main()方法,即應用程序入口點。在例子程序中,我們調用Console.WriteLine()向控制臺寫入“Hello VB.NET World!”:

Sub Main()

Console.WriteLine(“Hello VB.NET World!”) End SubWriteLine()方法歸屬于Console類,它負責向控制臺寫一個帶有行結束符的字符串。如前所述,Console類定義于System namespace,你通過直接引用來控制類成員。

Console類負責讀寫系統控制臺。讀控制臺輸入用Read和ReadLine方法,向控制臺輸出用WriteLine方法。

表1.1 Console類定義的方法

方法 用途 例子

Read 讀入單個字符 int i = Console.Read();

ReadLine 讀入一行 string str = Console.ReadLine();

Write 寫一行 Console.Write("Write: 1");

WriteLine 寫一行,并帶上行結束符

Console.WriteLine("Test Output Data with Line");

1.5 VB.NET有什么新特點? VB.NET比 VB6.0更加穩定,而且完全面向對象。也許你還記得,VB6.0不支持繼承、重載和接口,所以不是真正面向對象的。而VB.NET則支持這些面向對象特性。VB6.0有兩個薄弱環節——多線程和異常處理。在VB.NET中,開發多線程應用和使用C++/C#別無二致,結構化異常處理也得到支持。稍后我們會詳細解釋這些特性。

下面是VB.NET的特性列表——

·面向對象的編程語言。支持繼承、重載、接口、共享成員和構造器。·支持所有的CLS特性,如存取控制.NET類、與其它.NET語言交互、元數據、公共數據類型、委托等等?!ざ嗑€程支持?!そY構化異常處理。 1.6 名字空間與集合 前面討論了我們的第一個VB.NET程序。該程序中首先引人注意的是名字空間(namespace)。在.NET參考文檔中,你會發現每個類都歸屬于某個namespace。那么,namespace到底是什么?

一個namespace是類和組件的邏輯組合,其目的在于將.NET class按類別定義。微軟借用了C++ class packaging概念:namespace來描述這種組合。.NET Framework中的組件被稱為集合(assembly)。全部.NET代碼在數百個庫文件(DLL)中定義。Namespace把assembly中定義的類組織起來。一個namespace可以包括多個assembly,一個assembly也可以在多個namespace中定義。 namespace樹的根節點是System namespace。在.NET Library中,每個class都在一組相似的類別中定義。例如,System.Data namespace只包括數據相關類。同樣,System.Multithreading只包括多線程類。

在使用.NET支持的語言(如C#、VB.NET、C++.NET等)創建新應用程序時,你會注意到每個應用程序都被定義為一個namespace,而所有的class都歸屬于這個namespace。通過引用這個namespace,其它應用程序就能存取這些class。 在.NET中,代碼被編譯為中間語言(Intermediate Language,IL),assembly中存儲了IL代碼、元數據和其它資源文件。同一個assembly可以附屬于一個或多個Exe/DLL。所有的.NET庫都存儲在assembly中。

1.7 VB.NET: 完全面向對象的編程語言抽象、封裝、多態、繼承是面向對象語言的四個基本屬性。VB6.0不支持繼承,而VB.NET則不然。所以,和C++一樣,VB.NET也是完全面向對象的編程語言。

Class 和 ModuleVB.NET用Class...End Class語句對創建class。每個VB.NET至少包括一個Module(模塊)。Module在Module…End Module語句對中實現。應用程序的主要模塊是Main方法,亦即應用程序入口點。

和VB6.0相似的地方是,都可以使用Function/Sub關鍵字定義方法。下面的例子顯示了如何創建class、添加方法,并從主程序調用方法: Imports System

Module Module1

Sub Main()

Dim cls As TestClass = New TestClass

Console.WriteLine(cls.MyMethod)

End Sub

Class TestClass

Function MyMethod() As String

Return "Test Method"

End Function

End Class

End ModuleProperty屬性(Property)是類變量的公共描述。Property…End Property語句用以創建property。屬性的Get/Set方法分別用于取得和設置屬性值。下面的例子中,Data是TestClass的屬性。

Imports System

Imports System.Console

Module Module1

Sub Main()

Dim cls As TestClass = New TestClass

WriteLine(cls.MyMethod)

WriteLine(cls.Data)

cls.Data = "New Data"

WriteLine(cls.Data)

End Sub

End Module

Class TestClass

Private strData As String = "Some Data"

Function MyMethod() As String

Return "Test Method!"

End Function

' Adding Data property to the class

Public Property Data() As String

Get

Return strData

End Get

Set(ByVal Value As String)

strData = Value

End Set

End Property

重載VB.NET通過overload關鍵字支持方法重載。使用這個關鍵字,你可以定義同名但不同參數的方法。

類成員訪問域

除了原有的Private和Public,VB.NET引入了幾個新關鍵字。全部訪問域關鍵字列表如下:

關鍵字 作用域

Private 限于class內部

Public 可以從class外訪問

Friend 限于class所屬的應用程序內

Protected 只能被class和其派生類訪問

Protected Friend 能被class、應用程序和派生類訪問

繼承繼承是面向對象編程語言中最常用的技術。繼承讓你能夠重用類代碼和功能。

VB.NET支持繼承,而VB6.0則不支持。繼承的好處在于你能使用任何人編寫的類,從這些類派生自己的類,然后在自己的類中調用父類功能。在下面的例子中,Class B派生自Class A,我們將從Class B中調用Class A的方法MethodA。

Imports System

Imports System.Console

Module Module1

Sub Main()

Dim bObj As B = New B

WriteLine(bObj.MethodA())

End Sub

End Module

' Class A defined

Public Class A

Function MethodA() As String

Return "Method A is called."

End Function

End Class

'Class B, inherited from Class A. All members (Public and Protected)

' can be access via B now.

Public Class B

Inherits A

Function MethodB() As String

Return "Method B is called."

End Function

End Class

可以從一個class中派生多個自定義class,也可以從多個class派生一個自定義class。

共享的成員類的共享成員被類的所有實體共享。共享成員可能是屬性、方法或字段/值域。在你不想讓用戶全面控制自己的類時,共享成員相當有用。例如,你可以開發一個類庫,讓用戶通過共享成員使用其中的部分功能。

可以通過class本身引用共享成員,而無需通過類的實體。例如:Module Module1

Sub Main()

WriteLine(A.MethodA())

End Sub

End Module

' Class A defined

Public Class A

Shared Function MethodA() As String

Return "Method A is called."

End Function

End Class

多線程VB語言的一大弱點就是缺乏編寫自由線程(free-threaded)程序的能力。在.NET Framework中,所有語言共享CRL(Common Runtime Library,公共運行庫),也就是說,你可以用VB.NET、C#或其它.NET語言編寫同樣的程序。

System.Threading namespace定義了線程類。我們只需要引入System.Threading namespace,即可使用線程類。

System.Threading.Thread類提供線程對象,可以使用Thread類創建或破壞線程。

創建線程使用Thread類的實體創建一個新線程,然后用Thread.Start方法開始執行線程。線程構造器接受一個參數,該參數指明你要在線程中執行的procedure。在下例中,我想在oThread1(Thread類的一個實體)的第二線程中執行SecondThread過程:

oThread1 = New Thread(AddressOf SecondThread)

SecondThread procedure looks like below:

Public Sub SecondThread()

Dim i As Integer

For i = 1 To 10

Console.WriteLine(i.ToString())

Next

End Sub

然后,調用Thread.Start()開始線程:

oThread1.Start()

下面的代碼創建兩個第二線程:

Imports System

Imports System.Threading

Module Module1

Public oThread1 As Thread

Public oThread2 As Thread

Sub Main()

oThread1 = New Thread(AddressOf SecondThread)

oThread2 = New Thread(AddressOf ThirdThread)

oThread1.Start()

oThread2.Start()

End Sub

Public Sub SecondThread()

Dim i As Integer

For i = 1 To 10

Console.WriteLine(i.ToString())

Next

End Sub

Public Sub ThirdThread()

Dim i As Integer

For i = 1 To 10

Console.WriteLine("A" + i.ToString())

Next

End Sub

End Module

破壞線程 調用Abort方法來破壞(中止)一個線程。在調用Abort之前,確保用IsAlive判斷線程處于活動狀態。

If oThread1.IsAlive Then

oThread1.Abort()

End If

暫停線程可以使用Sleep方法來暫停線程執行。Sleep方法接受一個以毫秒為單位的參數,指明線程應當暫停多長時間。

下面的例子讓線程暫停1秒鐘:

oThread2.Sleep(1000)你也可以使用Suspend和Resume方法來掛起和繼續線程執行。

設定線程優先級Thread類的Priority屬性用于設定線程優先級。該屬性可以設置為Normal,AboveNormal,BelowNormal,Highest和Lowest。如:

oThread2.Priority = ThreadPriority.Highest線程與Apartment使用ApartmentState屬性設置線程的apartment類型,該屬性值可以為STA,MTA或是Unknown[][2]:

oThread.ApartmentState = ApartmentState.MTAMTS意味著可以使用多線程模式,而STA則只能是單線程執行。

Public Enum ApartmentState

{

STA = 0,

MTA = 1,

Unknown = 2,

}

1.8 結構化異常處理異常處理也被稱之為錯誤處理。作為VB程序員,你一定對On Error Goto和On Error Resume Next這些VB6.0錯誤處理語句耳熟能詳。這種類型的錯誤處理被稱為非結構化異常處理(Unstructured Exception Handling)。而在VB.NET中,Microsoft推出了結構化異常處理機制。VB.NET支持類似C++的TryCatch..Finally控制。Try..Catch..Finally結構如下: Try

' 可能導致異常的代碼

Catch

' 當異常發生時處理異常的代碼

Finally

' 清理現場

End Try

Try語句塊用以拋出異常。如果異常發生,在Catch語句塊中處理。Finally語句塊是可選的,在需要釋放資源時特別有用。

1.9 VB6.0與VB.NET的不同之處除了上面談到的語言進化,還有一些語法上的變化。所有這些語言和語法的變化在MSDN中均可查到,本文只作簡單介紹。

數據類型(Data Type)的改變VB.NET中有些數據類型得到改進。下面是變化對照表。

數據類型 VB6.0 VB.NET

Integer 16 bit size 32 bit size

Long 32 bit size 64 bit size

Currency 用于存儲大浮點數 被decimal替代,支持更高精度

Variant 可以存儲任意類型數據 被Object類型替代,也可以存儲任意類型數據,但結果更好

Date Date類型被存儲為double 引入DateTime類型,用于存儲不同格式的日期

在VB.NET中,Short數據類型是16 bit的。Short,Integer和Long都等同于CLR的System.Int16、System.Int32和System.Int64類型。 變量聲明的變化在VB6.0中,變量聲明有許多限制。其中之一就是不能同行聲明多個變量。如果一定要在一行中聲明多個變量,就一定得指明每個變量的類型,否則將被默認為Variant類型。

Dim a1, a2 As Integer Dim a3 As Integer, a4 As Integer 第一行中的a1是Variant類型,a2是Integer類型。第二行中兩個變量都是Integer類型。VB.NET支持同行聲明多個變量,舉例如下:

Dim a1, a2, a3 As Integer 變量初始化是另一個問題。在VB6.0中不能同時聲明和初始化變量,而VB.NET則支持這個特性。

Dim name As String = "Mahesh"System.Console.Write(name) 聲明常量也可以照此辦理:Const DT_COUNT As Integer = 23 New關鍵字。在VB.NET中,New關鍵字用于創建對象。由于數據類型是對象,所以New關鍵字用以創建一個數據類型對象。

Dim i As Integer = New Integer()i = 10System.Console.WriteLine(i.ToString()) 代碼塊級別支持。像C++一樣,VB.NET支持代碼塊級別的作用域檢查。在語句塊中聲明的變量只在塊內有效。

For i = 1 To 10Dim p As LongSystem.Console.WriteLine(i.ToString())NextSystem.Console.WriteLine(p.ToString()) 這段代碼在VB.NET中會得到一個編譯錯誤,因為p在For..Next語句塊之外不可訪問。在VB6.0中這段代碼可以通過。

改進了的類型安全

在VB6.0中,當你聲明一個對外部過程的引用時,可以指定任意類型的參數為As Any。Any關鍵字禁止了類型檢查,允許任意數據類型傳入和返回。

VB.NET不支持Any關鍵字。你必須指定每個參數和返回值的數據類型。數組VB.NET對數組作了明顯的改動。

數組范圍。在VB.NET中,你需要格外留意數組范圍問題。VB6.0默認數組下界為0,故數組中的元素數量等與數組上界值加一。下面的數組界限從A(0)到A(10),共有11個元素:

Dim A(10) As Single可以使用Option Base改變下界值為1。在VB.NET中,數組和C++一樣,下界值為0,不支持Option Base。注意:MSDN文檔指出數組只能包括與其尺寸相等的元素數量,例如:Dim A(10) As Integer 只能包括10個元素(從A(0)到A(9)),但在編譯下面這段代碼時我發現它運行良好,看起來數組中容納了11個元素。

Dim A(10) As Integer A(0) = 12 A(2) = 24 A(10) = 23 System.Console.WriteLine(A(0).ToString()) System.Console.WriteLine(A(10).ToString())System.Console.WriteLine(UBound(A).ToString()) System.Console.WriteLine(LBound(A).ToString()) Lbound和Ubound分別返回 0與10。ReDim和Fixed Array。你可以在VB6.0中指定固定長度的數組。

Dim ArrWeekDays(0 To 6) As Integer

這里的ArrWeekDays數組是固定長度的,不能用ReDim語句改變長度。VB.NET不支持固定長度數組,所以ReDim總是有效。

可以用下面兩種方式聲明數組: Dim ArrWeekDays(6) As IntegerDim ArrWeekDays() As Integer = {1, 2, 3, 4, 5, 6} ReDim語句。在VB6.0中,ReDim用于初始化動態數組。在VB.NET中你不能把它當作聲明用。ReDim只能用于改變數組長度,不過不能改變數組維度。

Variant對陣ObjectVB6.0中的Variant數據類型能存儲任意類型變量,VB.NET中Object具備相同能力。

算術操作符VB.NET支持類似C++的快捷方式。下面的表格顯示了常規操作與快捷操作的不同之處??旖莘绞揭部捎糜?、/、|、等操作符。

操作符 常規語法 快捷方式加法 A = A+5 A +=5 減法 A = A – 5 A -+ 5固定長度字符串

在VB6.0中,可以在聲明字符串時指定其長度。VB.NET不支持固定長度字符串。

布爾操作符VB6.0中的And、Or或是Xor語句是按位操作符。而在VB.NET中,它們是布爾操作符。執行這些操作將返回true或false。VB.NET引入新操作符來完成按位操作。

操作符 描述 BitAnd 按位AndBitOr 按位OrBitXor 按位XorBitNot 按位Not結構與自定義類型在VB6.0中,你使用Type…End Type語句塊創建結構或自定義類型。例如:

Type StdRec

StdId As Integer

StdName As String End Type

VB.NET引入新的語法:Structure。Type…End Type不再被支持。Structure…End Structure與C++用法相同??梢灾付ńY構中每個元素的可訪問域,如Public、Protected、Friend、Protected Friend、Private等。例如:

Structure StdRec

Public StdId As Integer Public StdName As String

Private StdInternal As String End StructureVB.NET中的Structures就像類一樣,也可以擁有方法和屬性。New和Nothing關鍵字VB6.0中,AS New和Nothing關鍵字用于聲明一個對象并初始化它。 VB.NET不支持隱式創建對象。如前所言,甚至連數據類型都是對象。你可以采用以下兩種方法創建數據類型或對象: Dim i As Integer Dim i As Integer = New Integer() // Do something if i = Nothing Then End If 不支持Set語句VB6.0使用Set語句指派對象。例如:Set myObj = new MyObjectSet a = b在VB.NET中,不需要使用Set指派對象。例如:myObj = new MyObj()a = b過程(procedure)語法的變化在VB.NET中過程語法有了很多變化。例如類似C++的過程調用方式、ByVal(傳值)為默認類型、Optional關鍵字、return語句等等。類似C++的過程調用方式 VB6.0允許不用加圓括號調用過程(sub)。不過,用Call語句調用函數或sub時,一定要使用圓括號。例如:Dim I as IntegerCall EvaluateData(2, i) EvaluateData 2, i 在VB.NET中,所有的方法調用都需要圓括號,而Call語句則是可選的。 ByVal是默認參數類型在VB6.0中,在調用函數或sub時ByRef(傳址)是默認類型。那意味著所有改變將反映到傳入的變量。VB.NET改變了這種方式?,F在,默認的參數類型是ByVal(傳值)。 Optional關鍵字VB6.0使用Optional關鍵字可用來讓用戶決定傳入一個默認值,之后在調用IsMissing函數判斷參數是否有效。 而在VB.NET中,每個可選參數必須聲明其默認值,無需調用IsMissing函數。例如:Sub MyMethod(Optional ByVal i As Integer = 3)

Return語句VB.NET的Return語句與C++相似。使用Return語句把控制權從過程返還給調用者。在VB6.0中,Return語句與GoSub語句一起使用。VB.NET不再支持GoSub語句。流程控制的改變下面是VB.NET對流程控制語句的修改:1. GoSub不再受到支持。2. Call、Function和Sub語句均可用于調用過程。3. On ... GoSub和On ... GoTo語句不再受支持??梢允褂肧elect Case語句來替代。4. While ... Wend語句現在改為While…End While語句。不再支持Wend關鍵字。小結 Visual Basic .NET是.NET版本的Visual Basic,已經從根本發生了變化!通過本文你了解到VB6.0和VB.NET的區別是很大的,可以說根本就是兩種不同的語言,因為它們的內核發生了變化,VB6.0是基于COM而vb.net是基于.net框架的,因為這個變化,所以在構造類時也發生了根本性的變化。

分享文章:vb.net類的定義 vb 定義類
文章起源:http://vcdvsql.cn/article8/doodhop.html

成都網站建設公司_創新互聯,為您提供App設計、定制開發搜索引擎優化、軟件開發、域名注冊、微信小程序

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

搜索引擎優化